有没有办法在运行时检索有关apk签名的信息?
例如,我有相同的应用程序签名2个不同的签名:app-1.apk和app-2.apk,我希望能够在运行时区分两个apk.那可能吗?
我的目标是使用外部服务器并基于应用程序的版本代码和签名来实现许可系统.
解决方法
您可以使用PackageManager访问apk签名.
Package Manager中定义的PackageInfo标志返回有关包中包含的签名的信息.
Package Manager中定义的PackageInfo标志返回有关包中包含的签名的信息.
Signature[] sigs = context.getPackageManager().getPackageInfo(context.getPackageName(),PackageManager.GET_SIGNATURES).signatures; for (Signature sig : sigs) { Log.i("App","Signature : " + sig.hashCode()); }
http://developer.android.com/reference/android/content/pm/PackageManager.html