美文网首页
多渠道打包

多渠道打包

作者: 落叶随风花落入泥 | 来源:发表于2019-04-30 16:11 被阅读0次

    Android 多渠道打包

    需要了解的知识

    1、为什么需要多渠道打包
    2、多渠道打包的方式及其优缺点配置及操作步骤,是否存在风险
    3、打包后各个apk真正区别是什么
    4、涉及到的知识就是版本比较多的时候,需要自定义apk名字达到好区分的目的

    针对上述问题进行一一分析

    1、为什么需要多渠道打包

    原因:在打包的时候添加标识,当请求网络的时候会携带渠道信息,这样后台能进行相应运营统计。

    2、多渠道打包的方式:

    参考文章:
    https://blog.csdn.net/mr_hmgo?t=1

    1、友盟多渠道打包方式(传统方式)
    ①、在清单文件中配置meta-data文件,渠道名一般由产品经理定义,代码如下:

    <meta-data
         android:name="UMENG_CHANNEL"
         android:value="${UMENG_CHANNEL_VALUE}" />
    

    ②、在build.gradle中android{}中配置如下代码:

    productFlavors{
          wandoujia{
             manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]
          }
          xiaomi{
             manifestPlaceholders=[UMENG_CHANNEL_VALUE: "xiaomi"]
          }
      }
    

    ③、优化

    productFlavors{
    wandoujia{}
     xiaomi{}
     }
      //下面就是优化增加的代码
     productFlavors.all { flavor ->
     flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
     }
    

    ④、在代码中获取渠道信息,代码如下:

    private String getChannel() {
    try {
       PackageManager pm = getPackageManager();
       ApplicationInfo appInfo = pm.getApplicationInfo(getPackageName(), 
       PackageManager.GET_META_DATA);
       return appInfo.metaData.getString("UMENG_CHANNEL");
     } catch (PackageManager.NameNotFoundException ignored) {
     }
     return "";
     }
    

    ⑤在app/build/outputs/apk中就能看到自动打好的渠道包

    优缺点:

    这种打包方式比较安全,是传统打包方式。
    缺点是:性能比较低

    2、美团打包方式:
    原理:apk文件其实可以看做是一个压缩包,我们把一个Android应用包当作zip文件包进行解压,然后发现在签名生成的目录下(META-INF)添加一个空文件不需要重新签名。利用这个机制,该文件的文件名就是渠道名。这种方式不需要重新签名等步骤,非常高效。

    美团打包工具下载地址:
    https://github.com/GavinCT/AndroidMultiChannelBuildTool

    优缺点:
    优点是:打包速度快
    缺点是:如果google修改了打包规则,(META-INF)添加空文件需要重新签名,那么这种方式就不可取。不安全,渠道商可以通过工具修改渠道,如果一个渠道商,通过网络劫持和篡改渠道的组合方式来获取 暴利,对于程序开发者来说可能会存在着巨大的经济损失

    打包后各个apk真正区别

    就是给每一个apk安装包添加了标签,有了特殊标识,根据这些标识,你可以针对不同的apk进行统计分析。可以作为运营下一步的公关方向提供参考。

    自定义apk名字

    当多渠道打包的时候,打出的包都是按照一定规则生成的,如果打多个版本的包时,因为规则相同,我们就不能很好的区分哪个是哪个版本的,这个时候就需要自定义apk名字,把版本号或者是版本名字放在规则中,这样打包的时候就会带上版本信息,这样就我们就很好的区分开了。

    详细可以参考此文自定义apk名字的文章
    https://www.cnblogs.com/bluestorm/p/6228085.html

    相关文章

      网友评论

          本文标题:多渠道打包

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