[英]How to get packagename of aar file?
我正在創建一個aar
庫,我需要獲得aar
packagename
以獲得aar
文件的aar
。
我正在嘗試下面的代碼,但getPackageName()
方法沒有返回aar
packagename
Signature[] sigs = context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES).signatures;
for (Signature sig : sigs){
Log.i("MyApp", "Signature hashcode : " + sig.hashCode());
}
AAR庫僅在編譯期間讀取。 當您構建使用該庫的應用程序時,AAR被“包含”並與應用程序代碼合並,因此運行時的PackageName是應用程序中的一個,而不是您的庫中的一個。 登錄AAR文件用於使開發人員確定該文件的來源,而不是其他任何內容。 在運行時,簽名在構建過程后丟失。
您可以通過訪問.aar庫中的類來獲取包名稱。 假設您在庫中有一個名為Sample.java
的類,那么您可以獲得如下所示的包名:
String packageName = Sample.class.getPackage().getName();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.