簡體   English   中英

如何獲取aar文件的包名?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM