在Android中强制新安装而不是升级

在Android中强制新安装而不是升级,android,version,Android,Version,我的Android应用程序的前一个版本是测试版,不久我将发布最终版本。新旧版本之间发生的更改量很大。虽然新版本确实提供了从旧版本升级sqlite数据库的功能,但从beta版升级到final版仍可能导致新版本无法正确运行。更改太多,无法知道升级是否会顺利运行 我希望用户在安装新版本之前卸载旧版本。虽然我可以在文档中请求,但实际上,Android会自动检测到较新的版本,并建议用户升级。如果有办法避免这种情况,我愿意。我真的不想弄乱我的签名密钥,仍然希望在不创建“新”应用程序的情况下保持我在Googl

我的Android应用程序的前一个版本是测试版,不久我将发布最终版本。新旧版本之间发生的更改量很大。虽然新版本确实提供了从旧版本升级sqlite数据库的功能,但从beta版升级到final版仍可能导致新版本无法正确运行。更改太多,无法知道升级是否会顺利运行


我希望用户在安装新版本之前卸载旧版本。虽然我可以在文档中请求,但实际上,Android会自动检测到较新的版本,并建议用户升级。如果有办法避免这种情况,我愿意。我真的不想弄乱我的签名密钥,仍然希望在不创建“新”应用程序的情况下保持我在Google Play商店中的评级。是否有某种方法可以将我的应用程序标记为强制在所有以前的版本上安装新应用程序,而不是升级它?

没有,没有方法这样做。您应该能够通过在emulator上安装原始版本,输入应用程序使用的一些数据来执行测试,即设置应用程序用户可能如何使用它。然后运行adb安装-r。这将更新保留应用程序数据的应用程序

您必须加入一些逻辑来应对升级,即检查首选项、升级数据库等。让用户卸载然后重新安装,这可能会让用户感到烦恼,因为他们将不得不再次输入所有详细信息

但你问的是,没有办法做到这一点。另一种方法是,尽管我仍然不建议使用这种方法,但当用户在升级后第一次启动应用程序时,应用程序会清除共享首选项并删除数据库,然后再次重新创建数据库,应用程序就像第一次使用一样


希望这能有所帮助

sqlite只是应用程序中许多变化之一。不要把注意力放在那上面。