【问题标题】:Compile Flags for Eclipse/Android development为 Eclipse/Android 开发编译标志
【发布时间】:2013-04-17 16:37:05
【问题描述】:
所以我试图弄清楚如何在 Eclipse 中设置编译标志,这样当我开发我的 Android 应用程序时,我可以进行特定的构建。示例我有一个基于 WebView 的应用程序,我希望能够构建一个具有不同 URL web.loadUrl("http://www.com"); 的 QA 版本我真的不想有 2 个项目 QA 和 Release。我一直在研究一种基本自动化这个过程的方法。在编译和测试应用程序之前,我不想每次都去更改代码中的 URL。
【问题讨论】:
标签:
java
android
eclipse
compiler-optimization
【解决方案1】:
使 url 字符串可配置,例如通过属性文件,您可以借助 java Properties 轻松访问该文件。如果要更改 URL,请确保不需要重新编译应用程序。
Properties applicationConfiguration = new Properties();
applicationConfiguration.load(this.getClass().getResourceAsStream("application.properties"));
String url = applicationConfiguration.getProperty("my.url", "http://defaulurl.com");
【解决方案2】:
在SDK Tools, Revision 17 (March 2012):
- 添加了一项功能,允许您仅在调试模式下运行某些代码。构建现在会生成一个名为 BuildConfig 的类,其中包含一个根据您的构建类型自动设置的 DEBUG 常量。您可以检查代码中的 (BuildConfig.DEBUG) 常量以运行仅调试功能。
我发现完成您想要的最简单的方法是检查 BuildConfig.DEBUG 布尔值。
DEBUG 布尔值始终为true when developing,仅当您导出已签名或未签名的apk 时,它才会设置为false。您可以将其用作:
if (BuildConfig.DEBUG) { // Developing
myURL = "http://www.bing.com";
}
// Or the other way around:
if (!BuildConfig.DEBUG) { // Released (signed app)
myURL = "http://www.google.com";
}