今天写了一个自动更新的包,结果提示签名不一致,无法覆盖安装,随后通过Export Android Application导出签名包,删除以前安装的,重新安装,然后可以更新安装。
问题是我重新建了一个一样的签名包,就不能覆盖安装,用原来的签名文件生成可以覆盖安装,是不是每次生成的签名包都不一样(即便是录入的信息一样)。如果原来的签名丢失,岂不是都无法在线更新,只能卸载再次安装了?是这样吗?

解决方案 »

  1.   

    楼主一定要切记,第一次打包发布的签名一定不能丢,最好是记住当时做签名时的信息录入,包括JDK的版本,什么操作系统等。
    因为Android安装是根据签名和程序包名进行判断是否为同一程序,若两者有一个不匹配,系统都会认为这是非法更新或替换。
    因此,在第二次更新时,一定要记住这次的签名文档信息,或直接保存那个Keystore文件,这样,以后每次升级版本都用这个签名即可直接更新。
      

  2.   

    楼主一定要切记,第一次打包发布的签名一定不能丢,最好是记住当时做签名时的信息录入,包括JDK的版本,什么操作系统等。
    因为Android安装是根据签名和程序包名进行判断是否为同一程序,若两者有一个不匹配,系统都会认为这是非法更新或替换。
    因此,在第二次更新时,一定要记住这次的签名文档信息,或直接保存那个Keystore文件,这样,以后每次升级版本都用这个签名即可直接更新。
     非常感谢你耐心的回答,你说的记住签名,下次录入同样的签名信息,可以吗?,我试过了,完全一样都不行,必须使用保存的那个KeyStore文件,完全一样的录入信息,生成的KeyStore,我打开对比是不一样的。
      

  3.   

    楼主,仅仅签名key文件保留即可,一般在2KB左右大小,JDK啥的系统都是无所谓的,没上面说的那么邪乎