9

我之前在这里发布了一个关于如何获取我的 APK 的签名校验和的问题: 如何获取我的 APK 的签名校验和?

如果应用程序使用 v1 签名方案或组合 v1/v2 签名方案进行签名,则答案是完美的。(Jar 和完整的 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 配置设备所有者应用程序?

4

1 回答 1

9

以示例为基础如何获取我的 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 Build Tools24.0.3和更新版本分发(除了26.0.0意外丢失apksigner)。https://developer.android.com/studio/command-line/apksigner.html

于 2017-07-01T01:38:06.037 回答