📅  最后修改于: 2023-12-03 15:24:49.717000             🧑  作者: Mango
在 Android 中,使用数字签名是确保应用程序的安全性的重要方式。因此,在发布应用程序之前,需要对其进行签名。但是,有时您可能需要检查应用程序是否已签名。本文将介绍如何在 Android 上检查应用程序是否已签名。
每个应用程序都有一个 APK 文件,您可以通过查看该文件来确定应用程序是否已签名。您可以使用以下命令检查 APK 文件是否已签名:
jarsigner -verify -verbose -certs your_app.apk
如果该应用程序已经签名,则您将看到以下输出:
smk:
Signed by "CN=Android Debug, O=Android, C=US"
Digest algorithm: SHA-256
Signature algorithm: SHA256withRSA, 2048-bit key
X.509, CN=Android Debug, O=Android, C=US
[certificate is valid from 1/1/70 12:00 AM to 1/1/50 12:00 AM]
[CertPath not validated: Path does not chain with any of the trusted
certificates]
否则,您将看到以下输出:
jarsigner: Certificate chain not found for: your_app.apk. your_app.apk must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.
您也可以通过 Android Studio 中的 Build Variants 视图查看应用程序是否已签名。只需单击 Gradle 选项卡,然后展开模块并单击 buildType,即可查看签名信息。
此外,您还可以使用 Android Studio 中的 Gradle 命令行工具来检查应用程序是否已签名。只需打开 Gradle 命令行工具,然后运行以下命令:
./gradlew signingReport
如果您看到以下输出,则说明该应用程序已经成功签名:
Variant: debug
Config: debug
Store: /path/to/debug.keystore
Alias: AndroidDebugKey
MD5: 11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:11
SHA1: 22:22:22:22:22:22:22:22:22:22:22:22:22:22:22:22:22:22:22:22
SHA-256: 33:33:33:33:33:33:33:33:33:33:33:33:33:33:33:33:
如果您看到以下输出,则说明应用程序还没有签名:
Variant: debug
Config: debug
No signing config defined.