有没有办法确定 Android 应用程序是在运行时进行生产签名还是调试签名?
private static Boolean isDebugBuild = null;
protected boolean isDebugBuild() {
if(isDebugBuild == null) {
PackageManager pm = getPackageManager();
try {
PackageInfo pi = pm.getPackageInfo(getPackageName(), 0);
isSignedWithDebugKey = (pi.applicationInfo.flags &
ApplicationInfo.FLAG_DEBUGGABLE) != 0;
}
catch(NameNotFoundException nnfe) {
nnfe.printStackTrace();
isDebugBuild = false;
}
}
return isDebugBuild;
}
Since ADT 8 http://developer.android.com/sdk/eclipse-adt.html,如果您没有专门将 debuggable="true" 添加到清单中,则调试版本会将其设置为 true,导出/签名的版本会将其设置为 false。
听起来这可能是一种更可靠的方法(只要您不手动设置可调试..)来确定它是否是调试与发布版本,但不是特别是证书是否是调试证书 - 这是您的问题,所以我的回答可能与你无关。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)