Android 开发记录

188 阅读1分钟

通过gradle配置设置全局变量,使xml代码和java代码同时获取到

  • 在根目录的gradle.properties中配置变量
UM_APP_KEY=hv677hhjghjgfj
DING_APP_ID=gdfgkl4744457
AUTO_LOGIN_SECRET=sdfsdgsgsh63h63j6j34
  • 在应用mobulebuild.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_KEYDING_APP_IDAUTO_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" />