在使用Android Studio开发的时候,AS会自动生成一个BuildConfig.java 的文件,里面定义了一些常量值,如DEBUG,APPLICATION_ID,FLAVOR等,这些信息是从build.gradle里面进行配置的。
BuildConfig.java
public final class BuildConfig {
public static final boolean DEBUG = Boolean.parseBoolean("true");
public static final String APPLICATION_ID = "cn.haiwan";
public static final String BUILD_TYPE = "debug";
public static final String FLAVOR = "XIAOMI";
public static final int VERSION_CODE = 201601150;
public static final String VERSION_NAME = "3.7.5";
}
首先看BuildConfig.DEBUG,Gradle脚本中默认的debug和release两种模式BuildCondig.DEBUG字段分别为true和false,而且不可更改。该字段编译后自动生成,在Studio中生成的目录在 app/build/source/BuildConfig/Build Varients/package name/BuildConfig 文件下。
自定义BuildConfig字段
也可以在build.gradle里面自定义一些字段,让其自动在BuildConfig.java中生成对应的常量。 例如:
buildConfigField "boolean", "API_ENV", "true"
在Java代码中就可以使用BuildCondig.API_ENV直接取到。 这种方式免去了发布之前手动更改环境的麻烦,减少出错的可能性。也可以在指定取到不同的值。
Gradle中文教程: http://avatarqing.github.io/Gradle-Plugin-User-Guide-Chinese-Verision/