(1)一个Android工程中有一个build.gradle是负责Project范围的,而Module中又有各自的build.gradle是专门负责模块的。
(2)在Gradle中Task是一等公民,通过gradlew + task名 可以直接执行指定Task,例如下面的命令就是执行:task releaseAutoBLForAar
gradlew releaseAutoBLForAar
(3)在defaultConfig中可以自定义变量名,编译时可以在Java代码中引用到:
defaultConfig {
applicationId"com.test"minSdkVersion15targetSdkVersion23versionCode5versionName1.1.0buildConfigField("String", "API_HOST", "${API_DEV_HOST}")
}
这里面的API_HOST是String型的(第三个参数是表示传值),可以看到Java代码生成,这样就能建立起代码与配置之间的桥梁:
public final classBuildConfig {public static final boolean DEBUG = Boolean.parseBoolean("true");public static final String APPLICATION_ID = "com.test";public static final String BUILD_TYPE = "debug";public static final int VERSION_CODE = 6;public static final String VERSION_NAME