【发布时间】:2013-03-05 13:22:19
【问题描述】:
我有一个我称之为“调试”的菜单项,它做了一些对“调试”版本很方便的事情。我希望“发布”APK 上不存在此菜单项。
有没有办法告诉编译器忽略 XML 菜单文件中的那些条目?
谢谢:-)
【问题讨论】:
标签: android debugging release menuitem
我有一个我称之为“调试”的菜单项,它做了一些对“调试”版本很方便的事情。我希望“发布”APK 上不存在此菜单项。
有没有办法告诉编译器忽略 XML 菜单文件中的那些条目?
谢谢:-)
【问题讨论】:
标签: android debugging release menuitem
如果您正在使用菜单 XML 资源,您可以将这些仅用于调试的选项隔离到它们自己的资源 XML 文件中。然后,除了膨胀你的主要的,你也膨胀调试专用的,如果BuildConfig.DEBUG是true:
if (BuildConfig.DEBUG) {
// inflate that second resource XML file
}
如果您使用 Java 代码设置菜单,则可以执行相同的基本操作,将仅用于调试的 add() 调用封装在对 BuildConfig.DEBUG 的检查中。
原则上,即将推出的基于 Gradle 的构建系统将有助于使这变得更容易一些,但目前 AFAIK 还需要几个月的时间。
【讨论】:
如果您使用 Jenkins 创建构建,您可以使用 shell 命令将调试菜单 xml 文件替换为生产版本。这对于 web 服务详细信息 xml 文件也非常有效。
【讨论】: