287

如何检查 Android apk 是否使用发行版而不是调试证书进行签名?

4

7 回答 7

416

使用此命令,(在 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

于 2011-08-18T08:46:31.197 回答
112

使用控制台命令:

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

于 2016-12-15T13:08:36.223 回答
67

最简单的:

keytool -list -printcert -jarfile file.apk

这使用 Java 内置 keytool 应用程序,不需要提取或任何构建工具安装。

于 2019-04-09T00:58:31.987 回答
62

使用此命令:(Jarsigner 位于您的 Java bin 文件夹中,在 cmd 提示符下转到 java->jdk->bin 路径)

$ jarsigner -verify my_signed.apk

如果 .apk 签名正确,Jarsigner 会打印“jar 已验证”

于 2011-08-18T08:50:29.803 回答
2
    1. 解压apk
    1. keytool -printcert -file ANDROID_.RSA or keytool -list -printcert -jarfile app.apk获取哈希md5
  • keytool -list -v -keystore clave-release.jks
  • 比较md5

https://www.eovao.com/en/a/signature%20apk%20android/3/how-to-verify-signature-of-.apk-android-archive

于 2020-04-22T08:35:26.377 回答
0

在终端中运行此命令 - 如果您有 Android Studio。

$ /Applications/Android\ Studio.app/Contents/jre/Contents/Home/bin/keytool -printcert -jarfile example.apk
Not a signed jar file
于 2021-10-01T15:25:35.833 回答
-3
keytool -printcert -jarfile base.apk
于 2020-11-26T13:26:13.437 回答