重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

android多渠道打包,android 打包

Android为什么要多渠道打包

android多渠道打包应该是android应用的多渠道打包推广。

成都创新互联网站建设提供从项目策划、软件开发,软件安全维护、网站优化(SEO)、网站分析、效果评估等整套的建站服务,主营业务为成都做网站、成都网站设计,重庆APP开发公司以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。成都创新互联深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

渠道打包就是分不同的市场打包,比如安卓市场,百度市场,Google市场,360市场等等,太多了。分渠道打包目的是为了针对不同市场做出不同的一些统计,数据分析,收集用户信息。

android 多渠道打包与自定义包文件名

我们在打包输出的时候希望我们的包文件名是自定义的,例如是包名版本号+渠道名+打包日期+.apk。现在我们就以此为例,来写一个gradle自定义包文件脚本。

Android多渠道打包

Demo传送门

参考:

多渠道打包之动态修改App名称,图标,applicationId,版本号,添加资源

AndroidStudio3.0 gradle多渠道打包之 动态设置app名称、图标、包名等

Android多渠道打包且根据不同产品打包不同的assets资源目录

(五)Android多渠道打包:美团多渠道打包原理以及使用

1.传统打包:

传统的打包方法都是在AndroidManifest添加渠道标示,每打一次包修改一次标示的名称。效率特别的低,一个稍微大一点的项目打上几十个渠道包可能需要几个小时半天的时间。

2.由于传统的打包方式每次修改渠道都需要重新的构建项目,时间都浪费构建上面了,美团提供了一种新的打包方案:

Android应用使用的APK文件就是一个带签名信息的ZIP文件,根据 ZIP文件格式规范,每个ZIP文件的最后都必须有一个叫 Central Directory Record 的部分,这个CDR的最后部分叫”end of central directory record”,这一部分包含一些元数据,它的末尾是ZIP文件的注释。注释包含Comment Length和File Comment两个字段,前者表示注释内容的长度,后者是注释的内容,正确修改这一部分不会对ZIP文件造成破坏,利用这个字段,我们可以添加一些自定义的数据,Packer-Ng方式打包就是在这里添加和读取渠道信息。打包神器,100个渠道包只需5s 哈哈 。

原理很简单,就是将渠道信息存放在APK文件的注释字段中。

第一步:直接将PackerNg作为Utils拷贝到项目中。

第二步:创建一个保存渠道包名的txt文件,可以放在项目主目录下:比如命名market.txt

渠道名可以按照需求随便添加

anzhi

baidu

huawei

legend

letv

meizu

oppo

qq

PC

sougou

UC

update

update1

vivo

wandoujia

woshangdian

xiaomi

第三步:ChannelUtil这个工具类是用于取出文件里的渠道名

第四步:打开第二步中的PackerNg类,首先配置一下此类main函数中接受的参数信息。本事例通过Android Studio的方式进行配置直接上图:

图中标注3的位置就是PackerNg类配置main函数中接受的两个参数: 第一个参数为默认的release包的apk源文件,包名为ChannelUtil起初默认的包名

拿到这个包名可以传给后台进行统计或进行其它的操作。

第六步:运行PackerNg类,会在项目目录下自动生成文件夹apks(在PackerNg.java文件中配置好的apk渠道包存储路径)

注意点:第四步中ChannelUtil起初默认的包名为源文件,其它所有的的渠道包都是通过PackerNg打包方式都是以这个源文件为模版,进行复制,将不同的渠道名复制给这个源文件。如果是360渠道上线的话需要将这个包名默认改为360的渠道单独打包,因为360上线需要加固,会把之前通过源文件复制渠道名给抹掉,所以对于360加固的文件需要单独把360作为源文件来打包不改为360默认的渠道包后会统计不到360渠道的信息。


分享标题:android多渠道打包,android 打包
标题链接:http://cqcxhl.com/article/dsddphd.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP