仅在调试模式下显示菜单项?

时间:2011-07-29 11:36:06

标签: android debugging

在我的应用程序中,我创建了一个测试页面,其中包含一些仅供开发人员使用的代码。此页面/活动只能通过菜单项访问。有没有办法确定Android应用程序是否在调试模式下运行,并且仅在显示菜单项时才显示?

的问候, Goldhorn

3 个答案:

答案 0 :(得分:7)

要直接检查菜单或其他资源XML中的调试模式,我们可以在build.gradle中定义 resValue ,如下所示。

buildTypes {
    release {
        ...
        resValue "bool", "DEBUG", "false"
    }
    debug {
        ...
        resValue "bool", "DEBUG", "true"
    }
}

generated.xml我们会得到:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <!-- Automatically generated file. DO NOT MODIFY -->

    <!-- Values from build type: debug -->
    <bool name="DEBUG">true</bool>

</resources>

现在我们可以在menu.xml

中使用此值
<item android:visible="@bool/DEBUG" ... />

答案 1 :(得分:3)

您需要检查AndroidManifest.xml中是否设置了debuggable="true"。有关详细信息,请参阅此帖子 - Getting "debuggable" value of androidManifest from code?

答案 2 :(得分:-4)

使用这个黑色

TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
String nOp = tm.getNetworkOperatorName();
if("Android".equals(nOp)) {
    // ADD YOUR MENUS FOR EMULATOR
}
else {
    // ADD YOUR MENUS FOR DEVICE
}