如何获得仅使用v2方案签名的APK签名校验和?

时间:2017-06-30 23:26:13

标签: android provisioning device-policy-manager device-owner android-for-work

我之前发布了一个关于如何获取我的APK签名校验和的问题: How do I get the signature checksum of my APK?

如果应用程序使用v1签名方案或组合v1 / v2签名方案签名,答案是完美的。 (Jar和Full APK签名)

但是,由于我的应用只能在Android O或更高版本上运行(它是特定于设备的应用),因此我只会使用APK签名方案v2(v2方案)对其进行签名。

我将使用EXTRA_PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM。有关详细信息,请参阅:https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html

如何获取我的应用的APK(v2)签名校验和,我可以在我的键/值对中使用NFC配置设备所有者应用?

1 个答案:

答案 0 :(得分:4)

建立你提到的例子How do I get the signature checksum of my APK?

apksigner verify -print-certs [path to your apk] | grep -Po "(?<=SHA-256 digest:) .*" | xxd -r -p | openssl base64 | tr -d '=' | tr -- '+/=' '-_'`

您所指的“签名校验和”是APK的签名证书的URL安全Base64编码SHA-256摘要。 apksigner verify --print-certs打印APK的签名证书的各种摘要,无论APK是JAR签名,APK签名方案v2签名,还是两者兼而有之。

apksigner通过Android SDK构建工具24.0.3和更新版本分发(26.0.0除了意外丢失apksigner)。 https://developer.android.com/studio/command-line/apksigner.html