2

我有一个我称之为“调试”的菜单项,它做了一些对“调试”版本很方便的事情。我希望此菜单项不存在于“发布”APK 中。

有没有办法告诉编译器忽略 XML 菜单文件中的那些条目?

谢谢 :-)

4

2 回答 2

7

如果您正在使用菜单 XML 资源,则可以将这些仅用于调试的选项隔离到它们自己的资源 XML 文件中。然后,除了膨胀你的主要的,你也膨胀了调试专用的,如果BuildConfig.DEBUGtrue

if (BuildConfig.DEBUG) {
  // inflate that second resource XML file
}

如果您使用 Java 代码设置菜单,则可以执行相同的基本操作,将仅调试add()调用封装在BuildConfig.DEBUG.

原则上,即将推出的基于 Gradle 的构建系统将有助于使这变得更容易一些,但目前 AFAIK 还需要几个月的时间。

于 2013-03-05T13:27:03.487 回答
0

如果您使用 Jenkins 创建构建,您可以使用 shell 命令将调试菜单 xml 文件替换为生产版本。这对于 web 服务详细信息 xml 文件也非常有效。

于 2013-03-05T13:33:00.013 回答