gradle文件的配置:
defaultConfig{
//定义一个String类型的变量,变量名为APP_ID_2,变量值取至于APP_ID_2_VALUE
buildConfigField "String", "APP_ID_2", ""${APP_ID_2_VALUE}""
manifestPlaceholders = [
APP_ID:"${APP_ID_VALUE}"//定义一个meta变量,变量名为APP_ID,值取至于APP_ID_VALUE变量
]
}
gradle文件的ext变量里设置真正的变量值。ext是一个内置变量。
{
ext.APP_ID_2_VALUE = "22222222"
ext.APP_ID_VALUE = "11111111"
}
这样,编译之后,APP_ID_2的值为22222222,APP_ID的值为11111111。
其他地方可以使用${APP_ID_2}引用该变量的值即为22222222,使用${APP_ID}引用该变量的值即为11111111。
比如上面的APP_ID_2在代码里面就可以通过BuildConfig.APP_ID_2访问。也说明了buildConfigField的作用是将gradle里的ext配置的变量值传递到java层可以调用。