美团多渠道打包方案初体验

作者: dongjunkun | 来源:发表于2015-11-10 16:21 被阅读11919次

    美团多渠道打包以快出名,早有耳闻,但总觉得神龙见首不见尾,大多文章都是讲原理的东西,却始终难懂到底怎么样用,今天就以初学者的姿态一边探索,一边总结,也希望能帮住大家少走写冤枉路。

    首先,明白几个问题:

    1、为什么要进行多渠道打包?

    安卓应用商店(一个商店也叫做一个渠道,如360,baidu,xiaomi)众多,大大小小几百个,我们发布应用之后需要统计各个渠道的用户下载量,所以才有了多渠道打包。

    2、怎么样统计各个渠道的下载量呢?

    现在有比较成熟的第三方应用帮我们实现统计功能(比如友盟),统计的本质就是收集用户信息传输到后台,后台生成报表,帮助我们跟踪分析并完善app。通过系统的方法已经可以获取到,版本号,版本名称,系统版本,机型,地区等各种信息,唯独应用商店(渠道)的信息我们是没有办法从系统获取到的,所以我们就人为的在apk里面添加渠道信息(其实就用一个字段进行标识,如360,baidu),我们只要把这些信息打包到apk文件并将信息传输到后台,后台根据这个标识,可以统计各个渠道的下载量了,并没有多么的高大上。

    说了那么多,其实多渠道打包只需要关注两件事情:

    • 将渠道信息写入apk文件
    • 将apk中的渠道信息传输到统计后台

    其实网上大多数文章都只是告诉读者“怎么样将渠道信息写入apk文件”这一个步骤,导致一些初学者摸不着头脑(我就是其中一个),那么,然后呢?这样就行了吗?总觉得缺了点什么。

    完整步骤,带你轻松搞定美团多渠道打包

    • 下载安装python环境 Python下载地址
    • 下载python脚本 AndroidMultiChannelBuildTool
    • 将ChannelUtil.java代码集成到工程里面,在app启动时获取渠道号传送给后台(如友盟:AnalyticsConfig.setChannel(ChannelUtil.getChannel(this));
    • 在PythonTool/Info/channel.txt中编辑渠道列表,以换行隔开,工程中有示例
    • 打包apk,将apk文件复制到PythonTool目录下(与py同级),运行(直接双击.py文件或者在命令行输入 python MultiChannelBuildTool.py )py脚本即可打包完成。(生成的渠道apk包在output_** 目录下)

    体验了12个渠道包,不到3秒钟:

    ff.gif ps:有讲的不清楚的,欢迎指出o.

    最新打包方案,据说很不错,还没有尝试过https://github.com/mcxiaoke/packer-ng-plugin

    相关文章

      网友评论

      • Spur2:请问第三步 具体是怎么用的“ 将ChannelUtil.java代码集成到工程里面...”
        Spur2:@dongjunkun AnalyticsConfig 这是自己写的吧
        dongjunkun:复制粘贴呀:smile:
      • 敲代码的鸡:打包出来的应用安装不了 提示 安装失败 该软件包似乎已经损坏
      • b55c63e708d6:可以用openinstall渠道链接替代渠道包的方法,无需人工打包!
      • 81a7f177e1b1:这个方案在7.0扑街了
        dongjunkun: @边城刀客 嗯
        81a7f177e1b1:@dongjunkun 签名方式用旧的就可以,不过那样就只能自己在控制台打包了
        dongjunkun: @边城刀客 和签名方式有关系吧
      • 饥渴计科极客杰铿:AnalyticsConfig.setChannel最新的友盟没有这个方法
        路过的人:博主,“将apk中的渠道信息传输到统计后台”这一块能说个大概吗?我是需要添加一个友盟依赖就行还是需要到友盟注册获取一些东西??跪求啊
        饥渴计科极客杰铿:@一枚Wifi MobclickAgent.startWithConfigure,然而友盟那什么都检测不到
        a976266d7e8d:@饥渴计科极客杰铿 那你是怎么处理的呢?
      • a976266d7e8d:我用这个之后,渠道怎么没有改变呢!
      • 2015哈哈哈:我觉的讲的挺好,比那些讲理论的强多了 :+1:
      • myjs:在安卓5.0下,这会导致安装失败,提示信息install_parse_failed_no_certificates,因为安卓5.0会检查META-INF目录下的文件是否完整,解决方案是把渠道和KEY信息放到非META-INF目录下,然后对应用重新签名。
        randee:是的 今天也遇到同样的问题 在Android5.0出现了错误
        dongjunkun:@myjs 小米的手机是不会的,魅族的也不会,现在好像有更快的打包工具,提到美团打包方案的兼容性问题
      • 0976aa15c169:试下 确实吊炸天
      • 652b0f754421:吊炸天
      • 猫狗爪抓:步骤说明简单清楚 :+1:

      本文标题:美团多渠道打包方案初体验

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