9 个解决方案
#1
不好判断啊,你直接问他吧
#2
用命令:jarsigner -verify -verbose -certs <apk文件>
如果有Android Debug字樣就是debug
如果有Android Debug字樣就是debug
#3
签名的方式无非是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;
......
#4
哥们,完全看不懂啊,系统代码的运行的UID/ GID和APK的签名有什么关系?能详细说说吗?
#5
但是存在这么一种可能,某个APK是自己私钥签名的,但字符串这里用的就是CN=Android Debug, O=Android, C=US
所以看字符串的方法不能百分比准确
#6
这个就没办法了,这些都是公开的,这样的奇葩可以忽略了
#7
google play是怎么判断的?
#8
您好 我现在也遇到这个问题 并且已经确定自己不是Debug版本,但是googleplay 就说我是可调式的APK
#9
public static boolean isApkDebugable(Context context) {
try {
ApplicationInfo info= context.getApplicationInfo();
return (info.flags&ApplicationInfo.FLAG_DEBUGGABLE)!=0;
} catch (Exception e) {
}
return false;
}
try {
ApplicationInfo info= context.getApplicationInfo();
return (info.flags&ApplicationInfo.FLAG_DEBUGGABLE)!=0;
} catch (Exception e) {
}
return false;
}
#1
不好判断啊,你直接问他吧
#2
用命令:jarsigner -verify -verbose -certs <apk文件>
如果有Android Debug字樣就是debug
如果有Android Debug字樣就是debug
#3
衍生问题:很多地方写着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;
......
#4
是否可以考虑 获取该应用对应的 系统代码的运行的UID/ GID来判别 本人没有实践过,只是一种思路
......
[/code]
哥们,完全看不懂啊,系统代码的运行的UID/ GID和APK的签名有什么关系?能详细说说吗?
#5
用命令:jarsigner -verify -verbose -certs <apk文件>
如果有Android Debug字樣就是debug
但是存在这么一种可能,某个APK是自己私钥签名的,但字符串这里用的就是CN=Android Debug, O=Android, C=US
所以看字符串的方法不能百分比准确
#6
用命令:jarsigner -verify -verbose -certs <apk文件>
如果有Android Debug字樣就是debug
但是存在这么一种可能,某个APK是自己私钥签名的,但字符串这里用的就是CN=Android Debug, O=Android, C=US
所以看字符串的方法不能百分比准确
这个就没办法了,这些都是公开的,这样的奇葩可以忽略了
#7
google play是怎么判断的?
#8
您好 我现在也遇到这个问题 并且已经确定自己不是Debug版本,但是googleplay 就说我是可调式的APK
#9
public static boolean isApkDebugable(Context context) {
try {
ApplicationInfo info= context.getApplicationInfo();
return (info.flags&ApplicationInfo.FLAG_DEBUGGABLE)!=0;
} catch (Exception e) {
}
return false;
}
try {
ApplicationInfo info= context.getApplicationInfo();
return (info.flags&ApplicationInfo.FLAG_DEBUGGABLE)!=0;
} catch (Exception e) {
}
return false;
}