Ionic 3 Android的新apk版本没有更新。 Gives" app未安装。包裹似乎已损坏"

时间:2017-06-14 06:50:30

标签: java android cordova ionic-framework ionic3

我有一个现有的Ionic应用程序(部署在Google Play上),我刚刚完成了一个带有一些错误修复的新版本(等)。我已经将Ionic更新到最新版本,并将Ionic CLI更新为3.x等,但除此之外构建是相同的(在同一台机器上),我使用的是相同的密钥库文件和以前一样。

然而,当我复制已发布的内置apk以手动安装在我的Android设备上时(就像我在推送到商店之前一样),现在我正在获取app not installed. The package appears to be corrupt

如果我删除现有版本,那么新的apk安装就好了。如果我的签名文件(密钥库)已被更改,这是我可能会遇到的那种错误,但它肯定没有,我从同一个保存的地方一直得到它。正如我之前成功完成的那样,我将密钥文件复制到平台/ Android文件夹中,如here所述。构建的结果文件是 android-release.apk ,因此已经签名。

我现在不知道如何诊断这个问题。我当然不希望用户在更新之前必须先卸载。

有没有人对这里可能出现的其他问题有任何建议,以及我如何开始诊断?

提前感谢任何想法。

[更新]

this post之后,我使用先前和当前版本的keytool -printcert -file CERT.RSA检查了签名证书的内容。我已经确认他们的内容完全相同(据我所知)

[UPDATE2]

在阅读了一些其他帖子,表明它可能是AndroidManifest.xml之后,我已经使用this suggested app打开了每个apk。除了versionCodeversionName之外,所有内容都完全相同,显然设置为新版本。

例如

file 1

versionCode='9'
versionName='1.0.0'

file 2..

versionCode='6'
versionName='1.0.1'

这些完全反映了我为每个构建版本所拥有的版本

1 个答案:

答案 0 :(得分:4)

终于意识到我的问题是版本代码。我正在重置每个应用程序版本的内部版本号,然后使用android-versionCode(在Cordova config.xml中)来存储内部版本号。但在Android doco中它声明这个版本的Code必须始终增加。一旦我将其设置为10(在我的情况下),apk就会升级。