我如何检查Android apk是用发布而不是调试证书签名的?
当前回答
使用控制台命令:
APKSIGNER 验证 --打印证书应用程序开发发布.apk
你可以在../sdk/build-tools/24.0.3/apksigner.bat中找到apksigner。仅适用于构建工具v. 24.0.3及更高版本。
请阅读谷歌docs: https://developer.android.com/studio/command-line/apksigner.html
其他回答
使用控制台命令:
APKSIGNER 验证 --打印证书应用程序开发发布.apk
你可以在../sdk/build-tools/24.0.3/apksigner.bat中找到apksigner。仅适用于构建工具v. 24.0.3及更高版本。
请阅读谷歌docs: https://developer.android.com/studio/command-line/apksigner.html
在终端中运行这个命令-如果你有Android Studio。
$ /Applications/Android\ Studio.app/Contents/jre/Contents/Home/bin/keytool -printcert -jarfile example.apk
Not a signed jar file
最简单的方法:
keytool -list -printcert -jarfile file.apk
它使用Java内置的keytool应用程序,不需要提取或任何构建工具安装。
使用keytool或jarsigner可能不适合您。您首先需要了解签名是如何工作的。在这里看到的。
如果你的最小API低于24,v1签名将包含在apk中(在META_INF中)。正因为如此,这两个工具将“排出”您的证书密钥。
如果使用min API 24或更高,v1签名将被排除(除非你在build.gradle中自己启用它)。在这种情况下,keytool或jarsigner都不起作用。它们将输出没有签名的jar文件或jar是unsigned的。要验证v2+签名,应该使用apksigner。
keytool -printcert -jarfile base.apk
推荐文章
- 如何隐藏动作栏之前的活动被创建,然后再显示它?
- 是否有一种方法以编程方式滚动滚动视图到特定的编辑文本?
- 在Android中将字符串转换为Uri
- 如何在NestedScrollView内使用RecyclerView ?
- 移动到另一个EditText时,软键盘下一步点击Android
- Android应用中的GridView VS GridLayout
- Activity和FragmentActivity的区别
- 右对齐文本在android TextView
- 权限拒绝:start前台需要android.permission.FOREGROUND_SERVICE
- 如何更改android操作栏的标题和图标
- Android Split字符串
- 让一个链接在安卓浏览器启动我的应用程序?
- 如何在Android工作室的外部库中添加一个jar ?
- GridLayout(不是GridView)如何均匀地拉伸所有子元素
- 如何让一个片段删除自己,即它的等效完成()?