我有一个应用程序,它被部署到世界上一些非常偏远、数据连接匮乏的地区,特别是卫生工作者。
这些人的数据连接很少,应用程序需要定期更新,以提供更多的功能和关键的错误修复。
我们的问题是,该应用程序的APK是5.7mb,而且只会越来越大。这意味着用户每次需要更新应用程序时,都必须下载5.7 meg apk才能更新。如果我们在一周内推出多个版本,它可能会占用他们数据计划的很大一部分,以及他们必须坐下来等待下载和安装的时间。
有更好的方法吗?修补的方法与完全替换主机设备上的应用程序以便部署较小的修补程序相比?
我试着寻找"主机"应用程序的例子,其中实际的应用程序只是一个可下载库集的外壳,有点像插件系统,但找不到任何例子。
是否有任何资源或标准化的方法来实现这一点?
同样值得注意的是,这是一个react原生应用程序,我们已经在运行proguard,并根据架构拆分apk,以减少apk的大小。
您有机会检查CodePush吗?它基本上只允许你动态地推送应用程序javascript部分(捆绑包)的更新,而不需要让你的用户下载新版本的apk。
如果你在项目中添加了新的本地代码,你仍然需要构建并发布一个新的apk。
它的工作原理是,当你更新应用程序中的javascript代码时,你会推送一个新版本。当用户运行应用程序时,CodePush会检查是否有新版本可用,如果有,请立即更新,如果您将上述版本标记为mandatory
或在下次运行时使用新下载的捆绑包版本,则重新启动应用程序。
编辑:CodePush的react原生库在github上。