我有一个我称之为“调试”的菜单项,它做了一些对“调试”版本很方便的事情。我希望此菜单项不存在于“发布”APK 中。
有没有办法告诉编译器忽略 XML 菜单文件中的那些条目?
谢谢 :-)
如果您正在使用菜单 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 文件也非常有效。