手记

ANDROID 使用gradle统一管理第三方APP KEY

为了区别处理第三方正式OR测试环境不同的APPKEY,例如

JPUSH_APPKEY

UMENG_APPKEY

com.baidu.lbsapi.API_KEY

一般的处理是在manitest.xml里面



<!-- 测试的百度地图key-->
<meta-data
    android:name="com.baidu.lbsapi.API_KEY"

    android:value="YOUR KEY"/>


<!--&lt;!&ndash;正式的百度地图key&ndash;&gt;-->
<!--<meta-data-->

    <!--android:name="com.baidu.lbsapi.API_KEY"-->

    <!--android:value="YOUR KEY" />-->

缺点:每次更改不同环境的值还得手动改,说不定有时候还忘记改了!

但是

如果使用gradle来统一管理就十分方便


step 1:修改manifest中值的定义

<meta-data  android:name= "JPUSH_APPKEY"  android:value="${JPUSH_APPKEY_VALUE}" />

<meta-data  android:name="UMENG_APPKEY" android:value="${UMENG_APPKEY_VALUE}" />

step2: 在gradle中添加值


buildTypes {
    release {
        buildConfigField "boolean""LOG_DEBUG""false"
        shrinkResources true
        zipAlignEnabled true
        signingConfig signingConfigs.release
        minifyEnabled true

        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

        //目标代码行

        manifestPlaceholders = [JPUSH_APPKEY_VALUE : "YOUR APPKEY",UMENG_APPKEY_VALUE : "YOUR APPKEY VALUE"]

    }

    debug {

        buildConfigField "boolean""LOG_DEBUG""true"

        //目标代码行

        manifestPlaceholders = [JPUSH_APPKEY_VALUE : "YOUR APPKEY",UMENG_APPKEY_VALUE : "YOUR APPKEY "]

    }
}


tips,还有渠道号也可以使用这种方法,想必这个大家已经了解了

productFlavors {
    baidu {
        manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"]
    }

原文链接:http://www.apkbus.com/blog-89514-61030.html

0人推荐
随时随地看视频
慕课网APP