1)来自美团点评的walle开源项目 下面的是链接
Android Signature V2 Scheme签名下的新一代渠道包打包神器
2)来自360小哥的mcxiaoke的开源项目 下面是链接
下一代Android打包工具,100个渠道包只需要10秒钟
这一篇主要介绍 mcxiaoke的packer-ng-plugin的使用
步骤1、在工程buildgradle中添加:
classpath ‘com.mcxiaoke.packer-ng:plugin:2.0.0’
步骤2、在mondule的buildgradle中添加:
apply plugin: ‘packer’
步骤3、在mondule的buildgradle中添加:
//360gradle打包
compile ‘com.mcxiaoke.packer-ng:helper:2.0.0’
这里注意版本号要与步骤1中的一致 这里是2.0.0
步骤4、在mondule的buildgradle中添加:
在android{}里面添加如下
packer {
// 指定渠道打包输出文件名格式
//包名-渠道名-正式环境(release)-版本名称-版本号-最终APK文件的MD5哈希值
archiveNameFormat = '${buildType}-v${versionName}-${channel}'
// 指定渠道打包输出目录
archiveOutput = file(new File(project.rootProject.buildDir.path, "academy_apks"))
channelFile = new File("${project.getProjectDir()}/markets.txt")
}
步骤5、在自己的module目录下建立markets.txt
注意 这里的文件名与步骤4中的配置channelFile的名字要一致,你要改2边都改就行。
步骤6:在你的application的onCreate里面加个方法
private void init360WithUmeng(){
// 如果没有找到渠道信息或遇到错误,默认返回的是""
// com.mcxiaoke.packer.helper.PackerNg
String channel = PackerNg.getChannel(this);
// 这个方法是Umeng的注册渠道方法 可能新版本的方法发生了变化,但是channel才是我们的需要的
MobclickAgent.startWithConfigure( new MobclickAgent.UMAnalyticsConfig(getAppContext(), "Umeng app key 不能公开抱歉", channel, MobclickAgent.EScenarioType.E_UM_NORMAL,true));
}
注意点:1、最好删掉Umeng清单配置的Appkey 和 channel
2、mondule中关于buildgradle的多渠道的东西删掉吧,比如
/* productFlavors {
_163 {}
_qq {}
_xiaomi {}
_meizu {}
_nearme {}
_wandoujia {}
_gfan {}
_appchina {}
_huawei {}
_lenovo {}
_eoe {}
_sogou {}
_uc {}
_taobao {}
_Android {}
_vivo {}
}
productFlavors.all {
flavor ->
flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name.substring(1)]
}*/
最后在Terminal命令行中输入:gradlew clean apkRelease
结语:如果有问题可能有点坑,因为不好百度,你先清空原来的配置再试试,欢迎评论,写的不好见谅