通过gradle配置设置全局变量,使xml代码和java代码同时获取到
- 在根目录的
gradle.properties中配置变量
UM_APP_KEY=hv677hhjghjgfj
DING_APP_ID=gdfgkl4744457
AUTO_LOGIN_SECRET=sdfsdgsgsh63h63j6j34
- 在应用
mobule的build.gradle中配置- 通过
buildConfigField方法配置的变量可在java代码中获取到 - 通过
resValue方法配置的变量可以在xml代码中获取到
- 通过
android/app/build.gradle
android {
buildTypes {
debug {
buildConfigField("String", "UM_APP_KEY", ""${UM_APP_KEY}"")
buildConfigField("String", "DING_APP_ID", ""${DING_APP_ID}"")
buildConfigField("String", "AUTO_LOGIN_SECRET", ""${AUTO_LOGIN_SECRET}"")
resValue("string", "UM_APP_KEY", "um.${UM_APP_KEY}")
}
}
...
}
-
在
java代码中获取UM_APP_KEY、DING_APP_ID、AUTO_LOGIN_SECRET如下- 通过
buildConfigField配置的变量,会被打包到BuildConfig.java中
- 通过
public class Constant {
public static final String UM_APP_KEY = BuildConfig.UM_APP_KEY;
public static final String DING_APP_ID = BuildConfig.DING_APP_ID;
public static final String AUTO_LOGIN_SECRET = BuildConfig.AUTO_LOGIN_SECRET;
}
- 在
xml代码中获取UM_APP_KEY,可通过@string/变量名称获取
<data android:scheme="@string/UM_APP_KEY" />