美文网首页
安卓多渠道高效打包总结

安卓多渠道高效打包总结

作者: CROAD | 来源:发表于2018-08-20 16:53 被阅读43次

    最近接手的项目都需要多渠道打包,有七八个渠道。使用android studio 原生productFlavors和友盟设置多渠道id打包非常慢,是二三十分钟。目前使用过的多渠道打包方式,按教程操作接入项目就可以,但有些坑,文档不会提到的,总结如下:

    1. 第三方sdk

    • 腾讯乐固,下载签名多渠道打包

    legujieshao_06.png
    • 360 加固工具

    官方地址

    1638147-e71aa7e5a60dbda5.png

    2. 使用插件

    注意:使用此方式,按文档接入,需要注释主模块builde.gradle下的原有多渠道打包方式,如:productFlavors,原文档未提。在当前app的build.gradle 文件中添加依赖,以及配置wallet插件,这里有一个不得不说的梗,原文档配置使用的插件 // 渠道配置文件

    channelFile = new File("${project.getProjectDir()}/channel"), 报错找不到channel文件。正确配置如下图:

    `4B1`UXQV%AXZ5W~N_O)4GD.png

    获取渠道信息
    通过以下代码,可以取渠道信息

    String channel = WalleChannelReader.getChannel(this.getApplicationContext());

    将渠道号在application中添加到友盟统计工具中,
    多渠道打包命令行:./gradlew clean assembleReleaseChannels ,
    winodw 需要去掉./,

    原文档配置使用的插件 // 渠道配置文件

    channelFile = new File(project.rootDir, "channel.txt")
    出现报错,gradle编译失败,

    正确配置渠道插件路径:

    channelFile = new File("${project.getProjectDir()}/channel.txt")

    代码中读取渠道
    // 如果没有找到渠道信息或遇到错误,默认返回的是""
    // com.mcxiaoke.packer.helper.PackerNg
    String channel = PackerNg.getChannel(Context)

    个人觉得Walle多渠道打包要快些,也支持apk加固后在批量打包

    相关文章

      网友评论

          本文标题:安卓多渠道高效打包总结

          本文链接:https://www.haomeiwen.com/subject/pyeliftx.html