我希望我为测试条目创建的菜单应该处于调试模式,但是当我发布(启动)我的应用程序时,不应显示用于测试条目的菜单。任何人都可以帮助我吗?
答案 0 :(得分:2)
检查应用程序中的IS_DEBUG_MODE
标志并在其中添加代码..
使用PackageManager
在您的应用上获取ApplicationInfo
对象,并查看FLAG_DEBUGGABLE
的标记字段。
boolean isDebuggable = (0 != (getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE));
<强>更新强>
以下解决方案假定在清单文件中,您始终在开发时设置android:debuggable=true
并在应用程序发布时设置android:debuggable=false
。
现在,您可以通过查看从ApplicationInfo.FLAG_DEBUGGABLE
获得的ApplicationInfo
中的PackageManager
标记来检查代码中此属性的值。
以下代码段可以提供帮助:
PackageInfo packageInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
int flags = packageInfo.applicationInfo.flags;
if ((flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0) {
// development mode
} else {
// release mode
}
所以在您的清单文件中:
对于调试时间,
<application android:name=".MyActivity" android:icon="@drawable/myicon"
android:label="@string/app_name" android:debuggable="true">
发布时间,
<application android:name=".MyActivity" android:icon="@drawable/myicon"
android:label="@string/app_name" android:debuggable="false">