我有一个现有的Ionic应用程序(已部署在Google Play上),我刚刚进行了一次新构建,修复了一些错误等。我已经将Ionic更新到最新版本,并更新了Ionic CLI到3.x等,但除此之外,构建与之前相同(在同一台机器上),我仍然使用与之前相同的密钥库文件。
然而,当我将发布的构建apk复制到我的Android设备上手动安装时(在推送到商店之前我总是这样做),现在出现
如果我删除现有版本,则新的apk可以正常安装。这是我预期的签名文件(密钥库)已更改的错误类型,但它绝对没有更改,我总是从同一保存位置获取它。正如我以前成功做过的那样,我将密钥文件复制到平台/Android文件夹中,如这里所述。构建的结果文件是android-release.apk,因此已被签名。
然而,当我将发布的构建apk复制到我的Android设备上手动安装时(在推送到商店之前我总是这样做),现在出现
应用程序未安装。包似乎已损坏
。如果我删除现有版本,则新的apk可以正常安装。这是我预期的签名文件(密钥库)已更改的错误类型,但它绝对没有更改,我总是从同一保存位置获取它。正如我以前成功做过的那样,我将密钥文件复制到平台/Android文件夹中,如这里所述。构建的结果文件是android-release.apk,因此已被签名。
我现在不知道如何诊断这个问题。我肯定不希望用户在更新之前必须先卸载。
有人有什么其他可能出错的建议吗?我该如何开始诊断呢?
提前感谢任何想法。
[更新]
根据这篇文章,我使用keytool -printcert -file CERT.RSA
检查了以前和当前版本的签名证书内容。我已经确认它们具有完全相同的内容(因为我知道它们应该是这样)
[更新2]
阅读了一些其他帖子后,建议可能是AndroidManifest.xml
,我使用这个建议的应用程序打开了每个apk。所有内容看起来完全相同,除了versionCode
和versionName
,显然设置为新版本。
例如
file 1
versionCode='9'
versionName='1.0.0'
file 2..
versionCode='6'
versionName='1.0.1'
这些完全反映了我拥有的每个版本