为Eclipse / Android开发编译标志

时间:2013-04-17 16:37:05

标签: java android eclipse compiler-optimization

所以我试图弄清楚如何在Eclipse中设置编译标志,所以当我开发我的Android应用程序时,我可以进行特定的构建。示例我有一个基于WebView的应用程序,我希望能够构建一个QA版本,它将具有不同的URL web.loadUrl("http://www.com");我真的不希望有2个项目QA和Release。我一直在研究一种基本上自动化这个过程的方法。我不希望每次在编译和测试应用程序之前更改代码中的URL。

2 个答案:

答案 0 :(得分: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");

答案 1 :(得分:2)

SDK Tools, Revision 17 (March 2012)

  • 添加了一项功能,允许您仅在调试模式下运行某些代码。 Builds现在生成一个名为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";
}