Android之用新的签名文件对apk进行V3打包(apksigner命令方式)来解决签名不一致的升级问题

这篇具有很好参考价值的文章主要介绍了Android之用新的签名文件对apk进行V3打包(apksigner命令方式)来解决签名不一致的升级问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、问题

我们app需要使用的的签名文件,但是之前的apk都是老签名文件,如果是采用v1和v2方式打包,我们知道升级覆盖安装会提示签名匹配安装失败。

二、v1、v2、v3签名原理

Android 目前支持以下四种应用签名方案:

  • v1 方案:基于 JAR 签名。

  • v2 方案:APK 签名方案 v2(在 Android 7.0 中引入)

  • v3 方案:APK 签名方案 v3(在 Android 9 中引入)

  • v4 方案:APK 签名方案 v4(在 Android 11 中引入)

1、v1签名

就是jar签名,apk最初的签名方式,大家都很熟悉了,签名完之后是META-INF 目录下的三个文件:MANIFEST.MF、CERT.SF、CERT.RSA。

MANIFEST.MF

MANIFEST.MF中是apk种每个文件名称和摘要SHA1(或者 SHA256),如果是目录则只有名称

CERT.SF

CERT.SF则是对MANIFEST.MF的摘要,包括三个部分:

  • SHA1-Digest-Manifest-Main-Attributes:对 MANIFEST.MF 头部的块做 SHA1(或者SHA256)后再用 Base64 编码

  • SHA1-Digest-Manifest:对整个 MANIFES文章来源地址https://www.toymoban.com/news/detail-413688.html

到了这里,关于Android之用新的签名文件对apk进行V3打包(apksigner命令方式)来解决签名不一致的升级问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • android studio 打包签名apk时报kotlin版本错误

    报错信息如下: /Users/abbb/Library/Android/sdk/caches/transforms-3/572ca993caa0789f4046529ddf3eacd2/transformed/jetified-BaseRecyclerViewAdapterHelper-4.0.1/jars/classes.jar!/META-INF/com.github.CymChad.brvah.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.8.0, expected version is 1.6.

    2024年01月25日
    浏览(51)
  • Android 对apk进行签名

    生成签名文件: 1.使用jarsigner(仅限V1签名): 2.使用apksigner(默认V1和V2签名),Android11以上不包含V2签名会装不上 Notice:    v1签名后再对齐,v2要签名前对齐。 对齐apk: 查看apk是否对齐: 1.查看apk是否签名(V1) 2.查看apk是否签名V1、V2、V3、V4 3.查看签名文件 

    2024年02月16日
    浏览(59)
  • Android APK 签名打包原理分析(三)【静默安装的实现方案】

    小编目前从事的系统定制类工作,有客户提出了,需要后台“静默安装”他们的app,也就是悄无声息的安装,而且特别强调,不可以跳出任何安装引导页面,他们的app下载完成之后,后台调用公开的android install代码,系统就后台完成安装,安装完成之后,重新打开应用就可以

    2024年02月01日
    浏览(61)
  • flutter开发实战-打包应用apk签名及Android studio没有generate signed bundle/apk问题修改

    flutter开发实战-打包应用apk签名及Android studio没有generate signed bundle/apk问题修改 最近使用flutter开发项目,需要将打包应用时候apk进行签名,我这边开发使用的是Android studio,发现在Android studio的build没有generate signed bundle/apk。这里记录一下问题修改,以及生产签名文件及gradle配置

    2024年02月08日
    浏览(57)
  • 【flutter电子木鱼】flutter 打包 android apk,记录配置签名的过程/调试的过程及flutter build apk放到手机上用。

    目标通过这篇blog记录一下flutter打包android apk的过程,项目是参考以下链接的git仓库,然后自己重新创建了一个project。安卓应用市场的木鱼充斥着广告和付费体验极差,自己做一个还可以根据喜好做适应性调整,不用担心被偷后台也不用烦广告和一些奇怪的布局,干净清爽,

    2024年02月10日
    浏览(51)
  • 安卓 APK 签名证书过期问题 及 更新签名方案 v3

    最近突然发现公司祖传的签名证书要过期了,急忙开始研究解决方案,在这里记录下我们采取的方式。 首先, 签名证书过期是没办法进行续期或者重新生成的 。而更换证书,那原来安装的 App 就必须要卸载后才能安装版本,而如果 App 已经上架应用市场,那么证书不一致的

    2024年02月03日
    浏览(40)
  • Android APK文件的签名V2查找、验证

      先看一下官网对V2签名的介绍:   APK 签名方案 v2 是一种全文件签名方案,该方案能够发现对 APK 的受保护部分进行的所有更改,从而有助于加快验证速度并增强完整性保证。   使用 APK 签名方案 v2 进行签名时,会在 APK 文件中插入一个 APK 签名分块,该分块位于“ZI

    2024年02月02日
    浏览(42)
  • 【Android】使用Android Studio打包APK文件

    打包APK之前,首先需要新建项目,有基础的可以跳过。 无基础的可以参考:使用Android Studio运行Hello World项目 1.找到Build - Generate Signed Bundle or APK - 勾选APK 2.首次需要创建证书,后续可以使用已创建好的证书 3.填写证书信息 选择密钥库存放路径,并填写密码 填写密钥名称、密

    2024年02月19日
    浏览(55)
  • Android apk文件打包自定义命名

    前言 在Android Studio中打包生成的APK和aar文件基本上都是module名称+构建类型,常见的都是 app-debug.apk 和 app-release.apk 这种样式的。 显然没有版本号等序号标识的话,管理起来会比较混乱,基于此种情况,我们可以通过修改 build.gradle 文件中的配置来修改生成包的文件名以做区分

    2024年02月13日
    浏览(56)
  • APK打包和签名

    Build/Make Project编译项目后,会默认生成一个app-debug.apk版本的APK,AS运行就是把这个文件通过adb install 方式安装到手机的 我们可以选择使用release编译版本 再次Build/Make Project编译项目后,就会出现release版本的APK 2-1、生成签名文件 第一步:Build - Generate Signed Bundle / APL 第二步:选

    2024年02月05日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包