在清单文件加+
<meta-data
android:name="UMENG_CHANNEL"
android:value="${UMENG_CHANNEL_VALUE}" />
app的build.gradle配置+
/*配置渠道*/
productFlavors {
yingyongbao {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "yingyongbao"]
}
wandoujia {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]
}
xiaomi {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]
}
}
applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = "driver_${variant.productFlavors[0].name}_v${variant.versionName}.apk"
}
}
还有这一行代码加在+
flavorDimensions "versionCode"
先编译,先编译,先编译,这样基本配置就完成了,然后是导入签名文件 这里重新创建一个,方法如下
如果你之前编译了会出现这些,然后选择下边这个(如图)Finish即可
//等待编译.... 编译完成后
/**
* 获取app包内的渠道标识
*/
public static String getChannel(Context context) {
try {
PackageManager manager = context.getPackageManager();
ApplicationInfo appInfo = manager.getApplicationInfo(context.getPackageName(), PackageManager.GET_META_DATA);
return appInfo.metaData.getString("UMENG_CHANNEL");
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
return "";
}
}
在主方法中打印log
Log.i("TAG", "驱动号"+getChannel(this));
ok