Java Android-更改应用程序签名(密钥库+密钥)

Java Android-更改应用程序签名(密钥库+密钥),java,android,cryptography,digital-signature,keystore,Java,Android,Cryptography,Digital Signature,Keystore,我在谷歌Play上有一个Android应用程序。我已经做了很大的改变,所以我希望用户能够完全安装我的应用程序。如果我更改我的应用程序签名=不同的密钥库和新密钥,当我的应用程序的前android用户安装此新版本时,它会是什么样子?是否先在后台正确自动卸载旧版本的应用程序,然后再安装新版本的应用程序 Thx您的软件包名称是唯一的。因此,如果要更改密钥库,则必须更改包名。如果更改软件包名称,Google Play将不知道这些应用程序是否相关,因此不会删除任何内容。如果您的apk没有使用与旧上传相同的密

我在谷歌Play上有一个Android应用程序。我已经做了很大的改变,所以我希望用户能够完全安装我的应用程序。如果我更改我的应用程序签名=不同的密钥库和新密钥,当我的应用程序的前android用户安装此新版本时,它会是什么样子?是否先在后台正确自动卸载旧版本的应用程序,然后再安装新版本的应用程序


Thx

您的软件包名称是唯一的。因此,如果要更改密钥库,则必须更改包名。如果更改软件包名称,Google Play将不知道这些应用程序是否相关,因此不会删除任何内容。如果您的apk没有使用与旧上传相同的密钥库进行签名,Google Play也不会接受具有相同包名的apk。 需要明确的是:要使用现有的PlayStore条目,您需要使用相同的包名和相同的密钥库。 抱歉,无法自动卸载您的应用程序。您可以尝试在启动更新的应用程序时擦除数据。我宁愿这样做,也不愿强迫用户下载一个新的应用程序,因为不是所有用户都会这么做。 有关如何删除数据的参考信息,请参见或更详细


如果你只是更新你的应用会发生什么?好吧,你所有的代码都被替换了。它实际上是重新安装你的应用程序。但是,只有代码被删除并重新安装。SharedReferences只是android为您存储的一些xml文件、下载和存储的文件等,不会被删除。这就是你应该删除数据的地方。删除为保存文件而创建的目录。取消您的SharedReferences。但请记住,如果appdata被重置,用户将不会喜欢它。如果可能,让他们至少保留他们的登录数据。

您的包名是唯一的。因此,如果要更改密钥库,则必须更改包名。如果更改软件包名称,Google Play将不知道这些应用程序是否相关,因此不会删除任何内容。如果您的apk没有使用与旧上传相同的密钥库进行签名,Google Play也不会接受具有相同包名的apk。 需要明确的是:要使用现有的PlayStore条目,您需要使用相同的包名和相同的密钥库。 抱歉,无法自动卸载您的应用程序。您可以尝试在启动更新的应用程序时擦除数据。我宁愿这样做,也不愿强迫用户下载一个新的应用程序,因为不是所有用户都会这么做。 有关如何删除数据的参考信息,请参见或更详细


如果你只是更新你的应用会发生什么?好吧,你所有的代码都被替换了。它实际上是重新安装你的应用程序。但是,只有代码被删除并重新安装。SharedReferences只是android为您存储的一些xml文件、下载和存储的文件等,不会被删除。这就是你应该删除数据的地方。删除为保存文件而创建的目录。取消您的SharedReferences。但请记住,如果appdata被重置,用户将不会喜欢它。如果可能的话,让他们至少保留他们的登录数据。

使用与上次上传相同的密钥库对apk进行签名。然后自动播放商店将负责用户的更新和安装您不能更改用于签署任何以前版本的密钥-Google play将拒绝任何未使用相同密钥签署的上传。只需增加版本号,用相同的密钥签名并上传即可。现有用户将升级到新版本,但以前使用早期版本保存的任何数据都将保留。可能的副本将使用上次上载时使用的相同密钥库对apk进行签名。然后自动播放商店将负责用户的更新和安装您不能更改用于签署任何以前版本的密钥-Google play将拒绝任何未使用相同密钥签署的上传。只需增加版本号,用相同的密钥签名并上传即可。现有用户将升级到新版本,但以前使用早期版本保存的任何数据都将保留。的可能重复项