繁体   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