您的位置:首页 > 移动开发 > Android开发

AndroidStudio多渠道打包的方案

2018-01-04 16:22 337 查看
续集:上一篇walle的使用配置

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

结语:如果有问题可能有点坑,因为不好百度,你先清空原来的配置再试试,欢迎评论,写的不好见谅
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: