共计 1850 个字符,预计需要花费 5 分钟才能阅读完成。
家喻户晓,渠道包作为当下国内 Android 利用市场常见的散发形式,当 APP 和后盾交互或进行数据上报时,会带上各自的 channel 渠道信息,以此不便企业 & 开发者统计 APP 在各渠道的下载量、用户量、留存率等要害沉闷数据,并针对性的调整利用内容和推广计划。而 Android 利用市场存在大大小小几百个商店,每当须要公布 APP 或迭代新版本,往往须要开发者生成多个渠道包或是在各利用市场从新散发,且官网提供的 ProductFlavor 多渠道打包工具,对于每一个渠道包,都须要进行一次残缺的 APK 打包过程,对于重视效率的开发者而言整个环节其实相当耗时,是否有更好的多渠道签名打包计划呢?
近期,顶象技术团队开源了本人的 Android apk 打包工具,精简,高效,利用开发者须要的多渠道打包神器来了!
顶象 Apk 签名和多渠道打包工具
下载后的包内文件:
一.签名性能简介
咱们先来看看 V1 和 V2 签名的区别:
在 Android Studio 中点击菜单 Build->Generate signed apk… 打包签名有两种签名选项 V1 (Jar Signature) V2 (Full APK Signature),**
从 Android 7.0 开始,谷歌减少新签名计划 V2 Scheme (APK Signature);
但 Android 7.0 以下版本,只能用旧签名计划 V1 scheme (JAR signing)
V1 签名:
来自 JDK (jarsigner), 对 zip 压缩包的每个文件进行验证,签名后还能对压缩包批改 (挪动 / 从新压缩文件)
对 V1 签名的 apk/jar 解压,在 META-INF 寄存签名文件 (MANIFEST.MF, CERT.SF, CERT.RSA),
其中 MANIFEST.MF 文件保留所有文件的 SHA1 指纹 (除了 META-INF 文件), 由此可知: V1 签名是对压缩包中单个文件签名验证
V2 签名:
来自 Google (apksigner), 对 zip 压缩包的整个文件验证,签名后不能批改压缩包 (包含 zipalign),
对 V2 签名的 apk 解压,没有发现签名文件,从新压缩后 V2 签名就生效,由此可知: V2 签名是对整个 APK 签名验证
V2 签名长处很显著:
签名更平安 (不能批改压缩包)
签名验证工夫更短 (不须要解压验证), 因此装置速度放慢
顶象 apk 签名工具默认同时应用 V1+V2 签名形式,用于对 android 加固后的 apk 进行从新签名。
启用工具界面:
应用阐明:
l 下载顶象签名工具 dx-signer.jar,双击运行。
l 抉择输出 apk、aab 文件。
l 抉择签名的 key 文件,并输出 key 明码。
l 抉择重签后 apk、aab 的门路,以 apk 完结。如:D:\sign.apk
l 点击“签名”按钮,期待即可签名实现。
ps: 如果有 alias(证书别名)密钥的或者有多个证书的,请在高级 tab 中抉择 alias 并输出 alias 明码
命令行界面:
反对的 option 如下:
例如:
二.多渠道性能简介
顶象多渠道工具兼容友盟和美团 walle 格调的多渠道包,不便客户把 APP 公布到不同的利用平台,进行渠道统计。
应用阐明:
l 在 app 中预留读取渠道信息的入口,具体见读取渠道信息
l 在签名应用根底上,点击抉择渠道清单
l 抉择清单文件 channel.txt。具体文件格式见渠道格式文件阐明
l 点击签名,期待生成多个带签名的渠道 app
读取渠道信息
顶象多渠道工具兼容友盟和美团 walle 格调的多渠道包,上面是两种不同格调的渠道信息读取办法。选其中之一即可。
您能够读取这个字段。
渠道文件格式阐明
请筹备渠道清单文件 channel.txt,格局为每一行一个渠道,例如:
License
三.常见问题:
对于 app 签名:
Q: app 签名是什么?
A: 签名就是用于辨认 app 开发者,并保障 apk 完整性的一个机制,谷歌要求每一个 app 都须要有签名。
Q: 为什么上传的 app 须要有签名?
A: 加固有防二次打包的性能,须要提前 apk 本来的签名,供加固后验证签名正确性用。
Q: 在 androidstudio 中打出的 debug 版本包,能够加固吗?
A: 不倡议用 debug 版本包加固,因为 debug 版本的包应用的是 androidstudio 的 debug 签名,可能导致加固后无奈重签名,或者签错名的状况。导致无奈失常运行。
对于加固后重签名:
Q: 上传之前 apk 曾经签过名了,为什么加固后又要从新签一次?
A: 加固之后会毁坏 apk 原有的签名,所以须要从新签名,否则无奈装置。
Q: 为什么重签名须要和加固前保持一致?
A: 如果不保持一致,则会触发加固的防二次打包性能,无奈失常运行。