为了区别处理第三方正式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"/>
<!--<!–正式的百度地图key–>-->
<!--<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"] }