Android-V1、V2签名包和快速集成美团多渠道打包(原创)

本文已独家授权 郭霖 ( guolin_blog) 公众号发布!

今天的文章主要介绍的是Android V1、V2签名包的基本概念和使用场景以及如何十分钟快速掌握美团多渠道打包。

内容概览:

1:美团多渠道打包的快速使用和集成

2:Android Studio 2.3版本及以上,V1、V2版本签名包的相关说明

3:V1、V2版本签名包的比较以及在本文提供的多渠道打包方案下,两种签名包的选择

准备工作:

1:Python开发环境的安装,美团打包工具(下文的准备链接已给大家准备好了资源,直接下载即可)

2:带签名的APK包(也就是我们编写好的代码,需要生成一个正式的签名包)

开始体验:

说起多渠道打包呐,脑海里面最直接的反应就是在AS里面直接配置flavor、使用友盟多渠道打包通过动态替换meta-data里面的value值去实现等等。

美团点评技术团队开源的多渠道打包着实可谓业界良心、精品楷模。通过使用Python直接批量修改,1秒打上百个包那真是So easy。

首先,需要下载给大家提供的准备链接。下载完毕以后,解压出来会有2个包,一个是Python的安装环境,一个是美团打包的工具。其中,美团的打包工具是一个压缩包,解压之后,有如下文件。

美团打包工具

下载无误之后,即可开始快速集成美团多渠道集成步骤:

步骤1:配置Python环境

A:首先,我们需要安装Python的环境(注意:Python2.X和3.X版本的都可以!两个版本都可以!虽然两个版本的差异和语法不一样,但是这里是为了配置打包环境,所以开发者暂时先不要纠结使用那个版本的问题)笔者使用的是python-3.6.3这个版本,该文件已上传百度云盘,下载即可。

下载之后,点击这个exe文件,点击之后,Windows下的界面是这样的(穷逼买不起MAC,见谅)

记住,下面的 Add Python 3.5 to PATH (红色箭头)一定要勾选,一定要勾选。

勾选之后,点击 Install Now,等待几秒。OK,安装完成!

B:打开CMD,输入 python,有以下提示则安装成功


安装成功

但是还是可能会安装失败,如下图


安装失败

没事,出现安装失败的情况,可能是没有勾选Add  Python 3.5 to PATH 没有勾选或者部分电脑勾选了还是安装失败(笔者的笔记本就遇到了这种问题,勾选了依旧没用)

解决办法:

I:重新安装Python环境,记得勾选Add  Python 3.5 to PATH。

II:I步骤如果还是不行,那我们需要去环境变量里面,配置python的环境变量即可。想快速解决环境变量的可以点击下面链接当然自己百度也行。配置Python环境

步骤2:

集成好Python的环境配置以后,打开下载好的美团打包工具。也就是本文第一张图,首先,有一个JavaUtil,这个是获取渠道信息的代码(可以自己Copy到项目,根据项目需求去集成使用);还有一个PythonTool文件夹,这个就是美团打包的核心,点进这个文件夹之后,如图:


PythonTool内部文件

我们只需要把生成好的正式签名包,copy在这里。(这里只是演示,也就是app-release.apk这个文件)我们只需要把写好的正式签名包,copy在这里。注意:必须是同级目录。


项目签名包放进来

然后,点击MultiChannelBuildTool这个python文件,点击一下即可!


点击之后,会生成一个紫色框的文件夹,我们点进去该文件夹,


美团多渠道打包生成的文件

MMP,一瞬间生成了这么多个apk,耗时半秒不到。

基本的多渠道打包使用就已经完成了。

十分钟不到吧应该。是的,已经打包完毕了。

问题1:如何配置其他的渠道?

info文件夹,目录下的channel就是用来存放打包渠道的,注意:多个渠道之间请用换行隔开、多个渠道之间请用换行隔开(不建议使用Windows下面的txt直接打开,强烈建议使用notepad++等第三方文字编辑工具使用编辑!!!)

问题2:如何获取渠道信息?

在前面说到了,给大家准备的下载链接里面,解压缩后有个JavaUtil的包,这里面就是获取渠道信息的代码,开发者可以根据这个工具类,去获取渠道号。或者根据开发需要自己集成使用即可。

关于V1、V2签名包的说明:

说完了美团多渠道打包,我们在说说V1、V2签名包。

如果我们升级到最新的AS(笔者的是3.0),点击打包选项,细心的你会看到这样的打包界面:


老版本的AS,只有V1选择,也就是紫色的框框。但是新版本的AS,默认勾选的是V2版本(笔者的AS默认是勾选的V2版本)。如果只勾选V2版本,打出来的签名包,很多机型会直接提示安装失败。解决办法下面会说。

概述:

在Android 7.0中引入了APK Signature Scheme v2,v1是jar Signature来自JDK。

V1:应该是通过ZIP条目进行验证,这样APK 签署后可进行许多修改,这样可以移动甚至重新压缩文件。

V2:验证压缩文件的所有字节,而不是单个 ZIP 条目,因此,在签名后无法再更改(包括 zipalign)。正因如此,现在在编译过程中,我们将压缩、调整和签署合并成一步完成。好处显而易见,更安全而且新的签名可缩短在设备上进行验证的时间(不需要费时地解压缩然后验证),从而加快应用安装速度。

刚才说了,如果只勾选V2版本,打出来的签名包,很多机型会直接提示安装失败。下面就给大家提供两种解决方案

解决方案一:

V1和V2的签名使用:

1)只勾选V1签名并不会影响什么,但是在7.0上不会使用更安全的验证方式

2)只勾选V2签名7.0以下会直接安装完显示未安装,7.0以上则使用了V2的方式验证

3)同时勾选V1和V2则所有机型都没问题。

解决办法二:

还有一种快速高效的代码解决方式,我们可以直接在app的build.gradle的android标签下,加入以下代码也可以解决只勾选V2版本签名包部分机型会提示安装失败的问题。


signingConfigs

想说的话:

V2签名包是从Android7.0系统出现的新的签名机制,这个新机制使得apk的签名方式更加安全。首先我们应该尝试把V1和V2两个选项全部勾选,并尽可能的去使用他们,但是如果全部勾选完毕出现了问题,那么我们可以忽略这种新的签名机制,只勾选第一个选项(V1),依旧使用我们之前老的签名机制,也就是说,V1版本更加快速方便。

为什么这里会提到V1、V2的区别。因为这里的美团多渠道打包只能适用于V1版本的签名包!!!但是笔者公司的运营上周五将apk上架应用宝(在打包同时勾选V1、V2且没有使用多渠道打包)还是会提示:


应用宝暂时不支持V2签名包

所以,个人还是推荐使用V1打包方式。因为稳定,所以放心。

在提一嘴,前不久美图技术点评也实现了V2版本包的功能,想了解的请移步:新一代美团快速打包。集成起来会相对复杂一些,在一些讲究效率和快速开发的团队,正常使用V1签名包和上面的美团打包方式,依旧可以快速高效满足开发需求保证产出以及安全。

两者如何取舍,全在开发者个人主观能动性了。

对于文章有任何问题,请直接联系笔者或者在评论区提出。

如果这篇文章对您有开发or学习上的些许帮助,希望各位看官留下宝贵的star,谢谢。

Ps:著作权归作者所有,转载请注明作者, 商业转载请联系作者获得授权,非商业转载请注明出处(开头或结尾请添加转载出处,添加原文url地址),文章请勿滥用,也希望大家尊重笔者的劳动成果,谢谢。

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

推荐阅读更多精彩内容