当您通过Play商店/ Apple商店安装应用程序时,在线商店最终会保持更新。
例如:如果您具有v1版本并发布到v2,则商店本身会通知您并提供升级选项。
在此更新中到底发生了什么?完整的apk会再次下载,或者是增量/差异类型(仅下载已更新的文件)。
当您安装非现场apk(无订阅)时...是调试还是发布...更新如何发生?
例如:我在android studio中生成了apk(“生成签名包”或从调试中获取),我将其转移到android并安装了它……如果我更新apk并再次执行该程序……。相同apk的两个不同版本还是重叠?
最佳答案
所有APK均带有特定的证书签名,如果匹配,则只会进行更新,否则您需要卸载现有的证书。
更新的大小取决于您发布更新的方式。如果您上传APK,则会进行全尺寸下载。如果您上传应用程序包,则仅差异大小将下载。
更新时,如果开发人员编写了正确的数据库迁移逻辑,它将保留应用程序数据和数据库记录。
例如。在版本1中,用户表有5个字段,在版本2中,您又添加了2个字段。然后,您需要编写迁移逻辑(更改表查询),以便版本1用户数据正确映射到版本2用户表。
有关更多详细信息,请参考this post。
调试APK和发行版APK具有不同的签名,您无法使用调试版本更新发行版应用程序,反之亦然。