Android入门第66天-在不同的开发电脑上如何保持打出的APK签名一致的解决方法

适用场景

我们假设在公司有一台MAC笔记本,在家有一个PC DESKTOP。经常开发用的是MAC,偶尔周未碰到修一个BUG要发布。在前期我们假设还没有jenkins cicd环境或者说有时需要在自己手头的电脑临时来发布一下APK时经常会碰到打完了一个APK,然后我们把APK挂到网上让连接的手机端做强制升级。经常我们就会碰到APK下载时是好好的,可是在安装时却碰到:签名不对无法安装的梗。

临时图快解决办法

用我们上一次发布APK的电脑重新打一个APK,并把它挂到我们的网站上再让手机端重新强制升级即可。可是这样做法并不通用。

正确的解决方法

Android打包时的签名需要一致。其实Android升级安装时碰到这个:“签名不对/不匹配”是源于Android打包成APK时的签名文件不一致导致。

我们需要让所有可发布APK电脑上使用的签名文件一致即可,这个签名文件是一个.keystore文件。

不同环境设置不同的签名文件

比如说我们的环境分为:

  • 开发测试环境
  • 准生产环境
  • 生产环境

那么我们只需要准备3个.keystore文件对应着上述这3个不同的环境就可以了,并让每个环境内参与打包的服务器上的.keystore为本环境共用一个同样的.keystore就可以了,这样你就可以不管在哪台服务器只要使用的是同一个.keystore文件即可打出本环境内通用的APK文件了。

动手实现

签名用的.keystore文件在哪?

面对初学者,我们更多的还是在Android Studio的->Build->Rebuild,然后在工程目录的\app\build\outputs\apk\debug目录下生成的.apk文件来做真机发布、升级联调为场景。默认情况下如果你没有设置过.keystore文件,

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-12 09:58:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-12 09:58:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-12 09:58:02       82 阅读
  4. Python语言-面向对象

    2024-02-12 09:58:02       91 阅读

热门阅读

  1. 多进程服务器和多线程服务器

    2024-02-12 09:58:02       53 阅读
  2. [94] 二叉树的中序遍历 js

    2024-02-12 09:58:02       57 阅读
  3. HTML世界之第一重天

    2024-02-12 09:58:02       51 阅读
  4. element-ui解决上传文件时需要携带请求数据的问题

    2024-02-12 09:58:02       52 阅读
  5. P1597 语句解析(C++)

    2024-02-12 09:58:02       53 阅读
  6. 221. 最大正方形

    2024-02-12 09:58:02       61 阅读
  7. unity学习(1)——控件与脚本的入门

    2024-02-12 09:58:02       64 阅读
  8. 2.3 Verilog 数据类型

    2024-02-12 09:58:02       60 阅读
  9. GraphicsMagick 的 OpenCL 开发记录(三十三)

    2024-02-12 09:58:02       48 阅读
  10. Python爬虫之非关系型数据库存储#5

    2024-02-12 09:58:02       55 阅读