安卓Android Studio 在gradle.propertles中定义全局变量 供.xml/.java使用

配置文件gradle.propertles

android.useAndroidX=true
android.enableJetifier=true
android.useDeprecatedNdk=true
#android.enableAapt2=false
#applicationId

MYAPP_RELEASE_STORE_FILE=xx.jks
MYAPP_RELEASE_KEY_ALIAS=key0
MYAPP_RELEASE_STORE_PASSWORD=123465
MYAPP_RELEASE_KEY_PASSWORD=123465

#友盟信息配置
UMENG_APPKEY=5dfae3xxxxxxxx00
UMENG_APPSECRET=8812a8xxxxxxxc317cbd

在app的build.gradle中配置全局字段

.java中使用需要使用buildConfigField进行配置
.xml中使用需要使用resValue进行配置

buildTypes {
        debug {
            signingConfig signingConfigs.debug

            buildConfigField("String", "umenAppkey", "\"${UMENG_APPKEY}\"")
            resValue("string", "umenAppkey", "${UMENG_APPKEY}")
            buildConfigField("String", "umenAppsecret", "\"${UMENG_APPSECRET}\"")
            resValue("string", "umenAppsecret", "${UMENG_APPSECRET}")

        }
        release {
            // Caution! In production, you need to generate your own keystore file.
            // see https://facebook.github.io/react-native/docs/signed-apk-android.
            signingConfig signingConfigs.release
            minifyEnabled enableProguardInReleaseBuilds
            proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"

            buildConfigField("String", "umenAppkey", "\"${UMENG_APPKEY}\"")
            resValue("string", "umenAppkey", "${UMENG_APPKEY}")
            buildConfigField("String", "umenAppsecret", "\"${UMENG_APPSECRET}\"")
            resValue("string", "umenAppsecret", "${UMENG_APPSECRET}")

注意buildConfigField(“数据类型”,“变量字段”,“gradle.propertles中的值”)
buildConfigField中的数据类型使用标准类型命名 – 如:String
resValue(“数据类型”,“变量字段”,“gradle.propertles中的值”)
resValue中使用小写命名 – 如:string

我们在使用的时候一定要注意一下几点
  • buildConfigField中的值如果是String类型,请使用\"\"包裹,转义
  • resValue中的值不需要添加\"\"
    原因很简单,最后看下编译后的结果就一目了然了
    buildConfigField生成的文件
  public static final String umenAppkey = "5dfae3ff570df3faea000e00";
  public static final String umenAppsecret = "8812a852b5490a48a665bce64c317cbd";

resValue生成的文件

    <string name="umenAppkey" translatable="false">5dfae3ff570df3faea000e00</string>
    <string name="umenAppsecret" translatable="false">8812a852b5490a48a665bce64c317cbd</string>

使用

在Java文件中使用

BuildConfig.umenAppkey

      UMConfigure.init(this,BuildConfig.umenAppkey,"uMeng",UMConfigure.DEVICE_TYPE_PHONE,BuildConfig.umenAppsecret);

在xml文件中使用

@string/umenAppkey

        <meta-data
            android:name="UMENG_APPKEY"
            android:value="@string/umenAppkey" />
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值