关于渠道打包网上方法有很多,但是太啰嗦,博主这急性子实在看不下去了。下面直接上干货:
我使用友盟进行后台数据统计,首先在AS清单文件配置权限及appkey(可参考开发文档):
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<application
...>
<meta-data android:value="573e8baae0f55a3532000010"
android:name="UMENG_APPKEY"></meta-data>
<meta-data android:value="wandoujia" android:name="UMENG_CHANNEL"/>
</application>
第二种是利用Gradle 打包:
1. 找到清单文件修改下面代码:
<meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" />`
其中${UMENG_CHANNEL_VALUE}中的值就是你在gradle中自定义配置的值。
build.gradle文件就利用productFlavors这样写:
productFlavors {
wandoujia {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]
}
baidu {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"]
}
c360 {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "c360"]
}
uc {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "uc"]
}
}
也可以更简洁,如下:
productFlavors {
wandoujia {}
baidu {}
c360 {}
uc {}
productFlavors.all { flavor ->
flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
}
下面介绍第三种:美团的批量打包方法
1.在清单文件注释掉友盟集成代码,在mainActivity中手动集成,并且将美团脚本工具中的 ChannelUtil.java文件放入项目中,代码如下:
//美团方案 步骤一。
//获取渠道名 meta-info
//a.上下文 b.获取不到渠道名的默认值
String channel = ChannelUtil.getChannel(this, "itheima");
//代码给友盟设置渠道
//1.上下文
//2.appkey
//3.渠道名
Log.i("TAG", "onCreate: "+channel);
Toast.makeText(this,"channel="+channel,Toast.LENGTH_LONG).show();
MobclickAgent.UMAnalyticsConfig config=new MobclickAgent.UMAnalyticsConfig(this,"57ef9a2be0f55a48830024d0", channel);
MobclickAgent.startWithConfigure(config);
2.安装批量渠道打包运行脚本python-3.6.0a1.exe,并在环境变量中进行配置,之后可在命令窗口输入python进行检验是否安装成功;
3.打包apk,并放入AndroidMultiChannelBuildTool-master运行脚本的PythonTool文件夹下,点击MultiChannelBuildTool.py开始运行脚本,之后就会自动进行批量渠道打包。
基本就是这些,如有错误还请大神指教。