当前位置:   article > 正文

使用python实现多渠道打包

使用python实现多渠道打包
每次发布新版本时,app会发布到国内各大应用市场,为了统计不同应用市场的推广效果,我们会为每一个apk添加唯一的标识(渠道号),方便进行统计。

对于渠道号的统计,可以使用第三方统计工具,如友盟,也可以在请求接口时将渠道号传递到后台自行统计。

这里以友盟统计为例。

可以选择在清单文件中添加渠道号,假如渠道号为wandoujia:
<meta-data android:name="UMENG_CHANNEL" android:value="wandoujia" />

或者在java代码中添加:
  1. import com.umeng.analytics.AnalyticsConfig;
  2. AnalyticsConfig.setChannel(channel);

由于在发版时,渠道号较多,所以需要采用自动化的方式,根据渠道列表自动生成对应的渠道包。

在Eclipse开发工具盛行的年代,一般使用Ant实现批量打包。缺陷是每打一个包,都要将工程编译,签名,效率很低。

AndroidStudio推出之后,有了替代方案,使用gradle批量打包。

实现步骤如下:

1.在AndroidManifest.xml中添加渠道占位符
<meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" />

2.在module的gradle文件中添加渠道号

  1. productFlavors {
  2. wandoujia {}
  3. qihoo360 {}
  4. }
  5. productFlavors.all {
  6. flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
  7. }

3.点击工具栏的Build,选择Generate Signed APK,然后选中需要打包的渠道即可。

使用gradle打包,是通过修改AndroidManifest文件来实现的。每打一个渠道包,需要重新签名。这种方式现在比较流行,效率一般,当渠道号过多时略显吃力。

接下来进入本文的重点,使用python实现多渠道打包。使用这种方式,分分钟打一千个包不再是梦。

该方案出自美团分享的解决方案:
本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/253090
推荐阅读
相关标签
  

闽ICP备14008679号