当前位置:编程学习 > wap >>

拿到一个APK,怎么准确地判断它是debug签名还是release签名?

衍生问题:很多地方写着debug签名的APK不能上传到google play,它是怎么判断的? 签名 --------------------编程问答-------------------- 不好判断啊,你直接问他吧 --------------------编程问答-------------------- 用命令:jarsigner -verify -verbose -certs <apk文件>
如果有Android Debug字樣就是debug --------------------编程问答--------------------
引用 楼主 heartbeast 的回复:
衍生问题:很多地方写着debug签名的APK不能上传到google play,它是怎么判断的?


签名的方式无非是shared、releasekey、platform、media

是否可以考虑 获取该应用对应的 系统代码的运行的UID/ GID来判别  本人没有实践过,只是一种思路

源码frameworks\base\core\java\android\os\Process.java中专门定义了一些UID的定义数值


    /**
     * Defines the UID/GID under which system code runs.
     */
    public static final int SYSTEM_UID = 1000;


    /**
     * Defines the UID/GID for the user shell.
     * @hide
     */
    public static final int SHELL_UID = 2000;

    /**
     * Defines the start of a range of UIDs (and GIDs), going from this
     * number to {@link #LAST_APPLICATION_UID} that are reserved for assigning
     * to applications.
     */
    public static final int FIRST_APPLICATION_UID = 10000;
    ......
--------------------编程问答--------------------
引用 3 楼 ConnectionUtils 的回复:
是否可以考虑 获取该应用对应的 系统代码的运行的UID/ GID来判别  本人没有实践过,只是一种思路
......
[/code]


哥们,完全看不懂啊,系统代码的运行的UID/ GID和APK的签名有什么关系?能详细说说吗? --------------------编程问答--------------------
引用 2 楼 iltgcl 的回复:
用命令:jarsigner -verify -verbose -certs <apk文件>
如果有Android Debug字樣就是debug


但是存在这么一种可能,某个APK是自己私钥签名的,但字符串这里用的就是CN=Android Debug, O=Android, C=US
所以看字符串的方法不能百分比准确 --------------------编程问答--------------------
引用 5 楼 heartbeast 的回复:
Quote: 引用 2 楼 iltgcl 的回复:

用命令:jarsigner -verify -verbose -certs <apk文件>
如果有Android Debug字樣就是debug


但是存在这么一种可能,某个APK是自己私钥签名的,但字符串这里用的就是CN=Android Debug, O=Android, C=US
所以看字符串的方法不能百分比准确

这个就没办法了,这些都是公开的,这样的奇葩可以忽略了 --------------------编程问答-------------------- google play是怎么判断的? --------------------编程问答-------------------- 您好 我现在也遇到这个问题  并且已经确定自己不是Debug版本,但是googleplay 就说我是可调式的APK
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,