最新美团多渠道打包工具使用(原创)

简介

使用该工具打包速度超快。
使用最新的美团多渠道打包框架, 支持V1 V2签名.支持多Flavors。
最新的美团打包框架已经解决了v1 v2签名适配的问题。

美团多渠道打包github地址

多渠道打包步骤

应用场景: 多Flavors 多渠道. 应用包需要加固.
备注:根据上面的应用场景,应用包需要加固,并且拥有多个Flavors和多个渠道.我们需要选择脚本打包,而不是gradle命令打包.因为涉及到加固,加固过程中会导致gradle生成的多渠道包获取不到渠道名信息,为了保证能够正确获取渠道信息,生成多渠道包的操作必须在最后一步操作,所以选择使用脚本打包。
多渠道打包步骤可分五步:
1)依赖美团多渠道打包工具,使用该工具的API获取渠道信息(代码设置友盟框架获取渠道信息)。
2)使用studio生成一个release包。
3)加固包
4)手动对加固的包进行v1 v2签名
5)使用美团多渠道 脚本 打包工具生成多渠道包

1)依赖美团多渠道打包库

可参考美团多渠道打包github

1.1 在项目中添加如下配置
// build.gradle
buildscript {
    dependencies{
        classpath 'com.mcxiaoke.packer-ng:plugin:2.0.1'
    }
}
1.2 在模块中添加如下配置
apply plugin: 'packer'
// build.gradle
dependencies {
    compile 'com.mcxiaoke.packer-ng:helper:2.0.1'
}

备注:使用脚本打包,不需要再有其它配置;如果需要使用Gradle来生成多渠道包,就需要配置插件,在模块gradle中指定渠道文件等

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

备注: 我们可以根据渠道名来获取对应的渠道号等信息。

1.4设置友盟框架获取渠道信息

由于友盟框架一般是在清单文件中获取渠道信息,但更改了打包方式后,我们不会在gradle文件和 清单文件中设置渠道信息,所以我们需要通过上述代码获取渠道信息后PackerNg.getChannel(Context),再手动设置给友盟框架。
(不同版本的友盟框架API不一样)
示例如下:

手动设置渠道名 渠道号
MobclickAgent.startWithConfigure(new MobclickAgent.UMAnalyticsConfig(
                    上下文, “友盟KEY”,“渠道名”));

2)使用studio生成一个release包。

使用studio生成一个线上包,如果有多个Flovers,就生成多少个。每个Flovers生成一个即可。

3)加固包

使用加固工具对其进行加固

4)手动对加固的包进行v1 v2签名

v1 v2签名资料一
v1 v2签名资料二
示例:

4.1找到签名工具apksigner.jar

使用搜索工具Everything轻松搜索apksigner.jar的所在位置。它存在于sdk\build-tools\的子目录下

4.2运行cmd,进入到该目录。如下图:

image.png

4.2 使用apksigner.jar工具对加固包进行v1 v2签名

image.png

示例:

java -jar apksigner.jar sign --ks key.jks --ks-key-alias releasekey --ks-pass pass:pp123456 --key-pass pass:pp123456 --out output.apk   input.apk

下面都是根据我自己的文件路径写的,使用者只需替换成自己的路径即可。
备注:
1)第三步加固后的包文件名与被签名的apk文件名一致,如下就的文件名就是"input.apk".
2)在签名前,需要将加固包复制一份放在输出路径上,并更名为对应的输出包文件名。如下输出文件名就是app.apk。如果不复制一份在该路径,会导致签名时报错:找不到输出包文件app.apk。

apksigner sign  --ks D:\SVN\app.keystore --ks-key-alias bieming --ks-pass pass:"123" --key-pass pass:"123"  --out D:\github_\packer-ng-reinforce-master\out\app.apk  D:\github_\packer-ng-reinforce-master\input\input.apk

4.3检测签名是否成功

apksigner verify -v 签名包绝对路径

示例:
查看V1 v2签名是否成功。
备注:较多开发者之前使用了V1签名,而没有使用v2签名,同时关于360加固等加固工具造成的签名问题,可以如下解决:
在加固后使用apksigner工具签名v1 v2签名,这样就可解决v1 v2签名的兼容性问题,正常获取渠道包信息,而且也满足加固要求。

apksigner verify -v  D:\Android\nice\out_apk\app.apk
image.png

5)使用美团多渠道 脚本 打包工具生成多渠道包

5.1下载美团脚本打包工具

将美团多渠道打包库中该文件夹复制出来,放至任一位置(根据自己需求)


image.png

5.2将上述加固后进行v1 v2签名的包放在该文件夹下。我将该包命名为“app.apk”(根据自己需要,可以随便命名)

5.3设置渠道信息

创建一个channels.txt文件,并将渠道信息如下格式写入该文本


image.png

5.4生成多渠道包

cmd 进入到项目的tools文件夹下. 并将上面已经签名的apk放到tools文件夹下面. 然后执行下面的命令

packer-ng-2.0.1.jar generate --channels=@channels.txt --output=build/archives app.apk

执行命令后会自动生成\tools\build\archives文件夹,并在其文件夹下生成对应的多渠道包。渠道包的名字和数量是由channels.txt文件来决定的。
备注:生成文件名的规则是 原包文件名+“-”+“渠道名”.apk

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,884评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,755评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,369评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,799评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,910评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,096评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,159评论 3 411
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,917评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,360评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,673评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,814评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,509评论 4 334
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,156评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,882评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,123评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,641评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,728评论 2 351

推荐阅读更多精彩内容