我试图从代码中获取应用程序的debuggable属性值:
packageInfo = context.getPackageManager().getPackageInfo(packageName, 0);
int flags = packageInfo.applicationInfo.flags;
isDebugMode = (flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0;
我注意到,当清单中未指定debuggable属性时,此代码将其定义为true。文档说它默认是假的。
怎么了?
答案 0 :(得分:73)
来自SDK Tools :( SDK工具,修订版8(2010年12月))
支持真正的调试版本。 开发人员不再需要添加
android:debuggable
属性 清单中的<application>
标签 - 构建工具自动添加属性。在Eclipse / ADT中,全部 假设增量构建是 debug builds ,因此插入工具android:debuggable="true"
的。什么时候 导出签名版本构建, 工具不添加属性。 在Ant中,一个ant debug
命令 自动插入 android:debuggable =“true”属性, 虽然ant release
没有。如果android:debuggable =“true”是手动的 设置,然后ant release
实际上会做 调试版本,而不是版本 建立。