我如何检查Android apk是用发布而不是调试证书签名的?
当前回答
使用此命令(在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
其他回答
keytool -printcert -jarfile base.apk
使用此命令(在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
使用以下命令:(Jarsigner在您的Java bin文件夹中,在cmd提示符中进入Java ->jdk->bin路径)
$ jarsigner -verify my_signed.apk
如果.apk签名正确,Jarsigner打印“jar已验证”
使用keytool或jarsigner可能不适合您。您首先需要了解签名是如何工作的。在这里看到的。
如果你的最小API低于24,v1签名将包含在apk中(在META_INF中)。正因为如此,这两个工具将“排出”您的证书密钥。
如果使用min API 24或更高,v1签名将被排除(除非你在build.gradle中自己启用它)。在这种情况下,keytool或jarsigner都不起作用。它们将输出没有签名的jar文件或jar是unsigned的。要验证v2+签名,应该使用apksigner。
解压缩的apk keytool -printcert -file ANDROID_。RSA或keytool -list -printcert -jarfile app.apk获取hash md5 .apk 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
推荐文章
- 警告:API ' variable . getjavacompile()'已过时,已被' variable . getjavacompileprovider()'取代
- 安装APK时出现错误
- 碎片中的onCreateOptionsMenu
- TextView粗体通过XML文件?
- 如何使线性布局的孩子之间的空间?
- DSL元素android.dataBinding。enabled'已过时,已被'android.buildFeatures.dataBinding'取代
- ConstraintLayout:以编程方式更改约束
- PANIC: AVD系统路径损坏。检查ANDROID_SDK_ROOT值
- 如何生成字符串类型的buildConfigField
- Recyclerview不调用onCreateViewHolder
- Android API 21工具栏填充
- Android L中不支持操作栏导航模式
- 如何在TextView中添加一个子弹符号?
- PreferenceManager getDefaultSharedPreferences在Android Q中已弃用
- 在Android Studio中创建aar文件