如何检查 Android apk 是否使用发行版而不是调试证书进行签名?
7 回答
使用此命令,(在 cmd 提示符下转到 java < jdk < bin 路径)
$ jarsigner -verify -verbose -certs my_application.apk
如果你看到“CN=Android Debug”,这意味着 .apk 是用 Android SDK 生成的调试密钥签名的(意味着它是未签名的),否则你会找到 CN 的东西。有关更多详细信息,请参阅:http: //developer.android.com/guide/publishing/app-signing.html
使用控制台命令:
apksigner verify --print-certs application-development-release.apk
您可以在 ../sdk/build-tools/24.0.3/apksigner.bat 中找到 apksigner。仅适用于 v. 24.0.3 及更高版本的构建工具。
另请阅读谷歌文档:https ://developer.android.com/studio/command-line/apksigner.html
最简单的:
keytool -list -printcert -jarfile file.apk
这使用 Java 内置 keytool 应用程序,不需要提取或任何构建工具安装。
使用此命令:(Jarsigner 位于您的 Java bin 文件夹中,在 cmd 提示符下转到 java->jdk->bin 路径)
$ jarsigner -verify my_signed.apk
如果 .apk 签名正确,Jarsigner 会打印“jar 已验证”
- 解压apk
keytool -printcert -file ANDROID_.RSA or keytool -list -printcert -jarfile app.apk
获取哈希md5
keytool -list -v -keystore clave-release.jks
- 比较md5
在终端中运行此命令 - 如果您有 Android Studio。
$ /Applications/Android\ Studio.app/Contents/jre/Contents/Home/bin/keytool -printcert -jarfile example.apk
Not a signed jar file
keytool -printcert -jarfile base.apk