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

news/2024/5/20 3:06:02 标签: android, gradle, android studio, android runtime, androidx

适用场景

我们假设在公司有一台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文件,


http://www.niftyadmin.cn/n/5373788.html

相关文章

【大厂AI课学习笔记】【1.6 人工智能基础知识】(2)机器学习

目录 必须理解的知识点: 举一个草莓的例子: 机器学习的三个类别: 监督学习: 无监督学习: 强化学习: 更多知识背景: 机器学习的诞生需求 监督学习的关键技术与实现步骤 无监督学习的关…

力扣 第 383 场周赛 解题报告 | KMP

力扣 第 383 场周赛 解题报告 | KMP 链接 前言 一个人能走的多远不在于他在顺境时能走的多快,而在于他在逆境时多久能找到曾经的自己。 T1 修改矩阵 思路:模拟 时间复杂度: O ( m n ) O(mn) O(mn) class Solution:def modifiedMatrix(se…

力扣刷题之旅:高阶篇(二)—— 动态规划的艺术:背包问题

在算法设计的殿堂中,动态规划无疑是一颗璀璨的明珠。它用巧妙的状态转移思想解决了许多看似棘手的问题。而在力扣(LeetCode)这样的在线刷题平台上,背包问题作为动态规划的经典题型,更是吸引了无数算法爱好者的目光。 …

antdpro框架npm install 报错,切换tyarn安装成功。

报错日志 有时间补 当前版本 解决办法 进入工作目录 安装官方推荐的tyarn工具:npm install yarn tyarn -g 进行依赖安装:tyarn 启动项目 :tyarn start 注意: 技术迭代较快,建议查询官网后实践,以上作为…

C/C++模板初阶

目录 1. 泛型编程 2. 函数模板 2.1 函数模板概念 2.1 函数模板格式 2.3 函数模板的原理 2.4 函数模板的实例化 2.5 模板参数的匹配原则 3. 类模板 3.1 类模板的定义格式 3.2 类模板的实例化 1. 泛型编程 如何实现一个通用的交换函数呢? void Swap(int&…

73. 矩阵置零(Java)

目录 题目描述:输入:输出:代码实现: 题目描述: 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 输入: matrix [[1,1,1],[1,0,…

DevOps:CI、CD、CB、CT、CD

目录 一、软件开发流程演化快速回顾 (一)瀑布模型 (二)原型模型 (三)螺旋模型 (四)增量模型 (五)敏捷开发 (六)DevOps 二、走…

口腔助手|口腔挂号预约小程序|基于微信小程序的口腔门诊预约系统的设计与实现(源码+数据库+文档)

口腔小程序目录 目录 基于微信小程序的口腔门诊预约系统的设计与实现 一、前言 二、系统功能设计 三、系统实现 1、小程序前台界面实现 2、后台管理员模块实现 四、数据库设计 1、实体ER图 2、具体的表设计如下所示: 五、核心代码 六、论文参考 七、最新…