我之前发布了一个关于如何获取我的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配置设备所有者应用?
答案 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