当您通过 Play 商店/苹果商店安装应用程序时,在线商店最终会为您提供最新信息。
例如:如果您有 v1 版本并发布到 v2,商店本身会通知您并提供升级选项。
这次更新到底发生了什么?完整的 apk 被再次下载或者是增量/差异类型的(仅下载已更新的文件)。
当您安装场外 apk(无需订阅)时...无论是调试还是发布...如何进行更新?
例如:我在 android studio 中生成了 apk(“生成签名包”或从调试中获取),我将其传输到 android 并安装了它……如果我更新 apk 并再次执行该过程……我会得到同一个 apk 的两个不同版本还是重叠?
最佳答案
所有 APK 都带有特定的证书签名,如果匹配则只会更新,否则您需要卸载现有的。
更新的大小取决于您发布更新的方式。如果您上传 APK,那么将进行全尺寸下载。如果您上传应用程序包,则只会下载差异大小。
如果开发人员编写了正确的数据库迁移逻辑,则在更新时它会保留应用程序数据和数据库记录。
例如。在版本 1 中,用户表有 5 个字段,而在版本 2 中,您又添加了 2 个字段。然后您需要编写迁移逻辑(Alter table query),以便版本 1 用户数据正确映射到版本 2 用户表。 引用this post了解更多详情。
调试 APK 和发布 APK 将具有不同的签名,您不能使用调试版本更新发布应用,反之亦然。
关于android - 重新安装 apk 的行为是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58010237/