Build配置
在android{}內(nèi)加
productFlavors {
sanxing {
manifestPlaceholders = [CHANNEL_VALUE: "32d2sss"]
}
guanwang {
manifestPlaceholders = [CHANNEL_VALUE: "\\00000000"]
}
}
AS 3.0+需在 defaultConfig {}內(nèi)配置
flavorDimensions "default"http://寫其他的也行
manifest里的配置
<meta-data
android:name="DEMO_CHANNEL"
android:value="${CHANNEL_VALUE}"
></meta-data>
代碼中獲取渠道號
try {
PackageManager packageManager = ctx.getPackageManager();
if (packageManager != null) {
ApplicationInfo applicationInfo = packageManager.getApplicationInfo(ctx.getPackageName(), PackageManager.GET_META_DATA);
if (applicationInfo != null) {
if (applicationInfo.metaData != null) {
String channel = applicationInfo.metaData.get("DEMO_CHANNEL")+"";
AppConfig.CHANNEL = channel;
LogService.i("Channel","當前的渠道為:"+channel );
}
}
}
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
LogService.e("Channel",e.getMessage()+"");
}
轉(zhuǎn)義問題
如果你的渠道號是一堆0000001 那么最后獲取出來就是1
如果想獲取到位000001 那么就需要加轉(zhuǎn)義字符\0000001