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;
}
Поскольку ADT 8 , если вы специально не добавляете debuggable = "true" в манифест, для отладочных сборок будет установлено значение true, а для экспортированных / подписанных сборок будет установлено значение false.
Похоже, что это может быть более надежный метод (если только вы не устанавливаете отладочную версию вручную), чтобы определить, является ли это отладкой по сравнению с версией выпуска, но не определенно, был ли сертификат отладочным сертификатом - это был твой вопрос, поэтому мой ответ может быть неуместен для тебя.