Eclipse/Android开发的编译标志

4
我正在尝试在Eclipse中设置编译标志,以便在开发Android应用程序时可以进行特定的构建。例如,我有一个基于WebView的应用程序,我希望能够构建一个QA版本,其中将具有不同的URLweb.loadUrl(“http://www.com”); 我真的不想有2个项目QA和Release。我一直在研究一种基本上自动化这个过程的方法。我不想每次编译和测试应用程序之前都要去更改代码中的URL。

你从我的回答中得到了帮助吗? - kaderud
2个回答

3
让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工具, 修订版17 (2012年3月)中:
- 添加了一个功能,可以使一些代码只在调试模式下执行。现在生成的BuildConfig类包含一个DEBUG常量,它根据您的构建类型自动设置。您可以在代码中检查(BuildConfig.DEBUG)常量以运行仅限于调试的函数。
我发现实现您想要的最简单方法是通过检查BuildConfig.DEBUG布尔值。
当开发时,DEBUG布尔值始终为true,只有在导出已签名或未签名的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";
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接