应用更新无法安装

时间:2014-04-22 20:54:55

标签: android apk updates keystore jarsigner

com.blastmnt.alarmclock

旧APK

  • 的versionCode =" 4"
  • =的versionName" 0.2.3.0"

新APK

  • 的versionCode =" 5"
  • =的versionName" 0.2.3.1"

我使用keytool在终端创建了一个密钥库:

keytool -genkey -v -keystore alarm.keystore -alias alarmalias -keyalg RSA -keysize 2048 -validity 10000

通过ADT Bundle导出已签名的项目,将其指向密钥库文件。

Users / Me / Documents / Android / workspace / alarmclock [项目目录]

用户/ ME /文档/ Android设备/密钥库/ alarm.keystore


在多次尝试之后不能正常工作,说签名不是我尝试过的jarsigner,而是导出了一个未签名的项目。

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore alarmclock.keystore alarmclock.apk clockalias

然后用以下方式验证它们:

jarsigner -verify -verbose -certs alarmclock.apk

将较新的一个上传到我服务器上的URL,将其从我的计算机中删除,然后重复此过程,更改版本代码并命名,然后将其上传到我的设备,然后尝试下载更新的文件

Moto X只是说"应用程序未安装",并且在LogCat中它说:

  

安装错误代码-25

虽然RAZR M说签名不一样。

再次尝试,确保我没有神奇地交换版本文件,然后重复整个过程以确保我做了正确的密钥,并比较了jarsigner验证输出以确保一切都符合要求,同样的问题。

请帮助,我现在真的很茫然。我可能只是做了一些愚蠢的错误,但对于我的生活,我没有看到它。非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

正如一位智者曾经说过的,如果你找不到解决办法,那是因为你提出了错误的问题。

当上传新文件以覆盖旧文件时,服务器没有转储旧文件。所以这两款手机都是正确的,错误的签名和版本错误(-25)。

通过向我自己发送新文件进行更新,实现它有效,然后在我意识到APK不是问题时从那里打破了所有内容。

感谢所有看过这个问题的人试图提供帮助。我非常感谢你的时间。