使用 gradle 自动更改应用程序环境(开发/生产...)
Use gradle to change App Environment ( development/ production...) automatically
我正在开发 android application.In 应用程序,我需要有多个服务器,例如开发、暂存和生产。对于每个环境,我还必须指定其他敏感键。我现在正在手动更改每个环境的标志。我想使用 gradle 来自动执行此操作。根据 gradle 文档,有一个名为 build type 的术语,例如 release 和 debug 默认。还有产品口味。我不确定使用哪一个以及如何使用。任何建议将不胜感激。
这就是我在 Application.java
中更改 App env 的方式
public static final int APP_ENV = 2;//2 => dev, 1 => staging, 0 => production
这是我区分url和其他键的方式
switch (envVar){
case DEV :
url ="http://a.com";
google_analytic_id="aaaa..";
....
break;
case STAG :
url = "http://b.com";
google_analytic_id="bbbb..";
.....
break;
case PRO :
google_analytic_id="cccc..";
.....
break;
default:
url ="http://a.com";
break;
}
你应该为此使用口味。部分 build.gradle
文件可能如下所示:
productFlavors {
production {
buildConfigField 'String', 'URL', '"http://a.com"'
}
development {
buildConfigField 'String', 'URL', '"http://b.com"'
}
}
这将使用您提供的信息填充 BuildConfig.java
。然后在您的 Java 代码中,您可以执行以下操作:
System.out.println("My URL is " + BuildConfig.URL);
您可以使用以下方法创建您的特定版本:
gradle assembleProductionDebug
或
gradle assembleDevelopmentDebug
(可根据需要切换Debug为Release)
有关如何使用产品口味的详细信息,请访问 http://developer.android.com/tools/building/configuring-gradle.html
我正在开发 android application.In 应用程序,我需要有多个服务器,例如开发、暂存和生产。对于每个环境,我还必须指定其他敏感键。我现在正在手动更改每个环境的标志。我想使用 gradle 来自动执行此操作。根据 gradle 文档,有一个名为 build type 的术语,例如 release 和 debug 默认。还有产品口味。我不确定使用哪一个以及如何使用。任何建议将不胜感激。
这就是我在 Application.java
中更改 App env 的方式public static final int APP_ENV = 2;//2 => dev, 1 => staging, 0 => production
这是我区分url和其他键的方式
switch (envVar){
case DEV :
url ="http://a.com";
google_analytic_id="aaaa..";
....
break;
case STAG :
url = "http://b.com";
google_analytic_id="bbbb..";
.....
break;
case PRO :
google_analytic_id="cccc..";
.....
break;
default:
url ="http://a.com";
break;
}
你应该为此使用口味。部分 build.gradle
文件可能如下所示:
productFlavors {
production {
buildConfigField 'String', 'URL', '"http://a.com"'
}
development {
buildConfigField 'String', 'URL', '"http://b.com"'
}
}
这将使用您提供的信息填充 BuildConfig.java
。然后在您的 Java 代码中,您可以执行以下操作:
System.out.println("My URL is " + BuildConfig.URL);
您可以使用以下方法创建您的特定版本:
gradle assembleProductionDebug
或
gradle assembleDevelopmentDebug
(可根据需要切换Debug为Release)
有关如何使用产品口味的详细信息,请访问 http://developer.android.com/tools/building/configuring-gradle.html