java - Android App就地更新

标签 java android react-native

我有一个应用程序部署到世界上一些相当偏远、数据连接匮乏的地区,特别是卫生 worker 。

这些人的数据连接最少,应用程序需要定期更新才能提供增强的功能和关键的错误修复。

我们遇到的问题是应用程序的 APK 为 5.7mb,而且只会变得更大。这意味着用户每次需要更新应用程序时,都必须下载 5.7 meg apk 进行更新。如果我们在一周内推出多个版本,则可能会占用他们的大部分数据计划以及时间,因为他们必须坐下来等待下载和安装。

有更好的方法吗?有什么方法可以修补主机设备上的应用程序,而不是完全替换主机设备上的应用程序,以便我们部署更小的补丁?

我尝试寻找“主机”应用程序的示例,其中实际应用程序只是一组可下载库的外壳,有点像插件系统,但找不到任何示例。

是否有任何资源或标准化方法可以实现此目的?

还值得注意的是,这是一个 react 原生应用程序,我们已经在运行 proguard 并根据架构分割 apk,以减少 apk 大小。

最佳答案

您有机会检查一下CodePush吗? ?它基本上允许您即时推送应用程序的 javascript 部分( bundle )的更新,而不会让您的用户下载新版本的 apk。

如果您向项目添加新的 native 代码,您仍然需要构建并发布新的 apk。

它的工作原理是,当您更新应用程序中的 JavaScript 代码时,您会推送新版本。当用户运行应用程序时,CodePush 会检查是否有可用的新版本,如果有,则立即更新并重新启动应用程序(如果您将上述版本标记为强制)或在下次运行时使用新下载的 bundle 版本。

编辑:CodePush的react-native库是here on github .

关于java - Android App就地更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41978121/

相关文章:

用于验证名称的 Java 正则表达式

java - 如何测试junit5中的日志记录?

android - 在Android应用程式上停止背景音效

java - 无法使用 Firebase 中的 Glide 库加载个人资料图片

android - zIndex 不适用于 android

javascript - 获取 API POST 请求响应

java - 使用 java 在 Apache Spark 中以平面列表形式获取单列值

java - 使用 colspan 和 rowspan 从二维数组生成 html 表

android - 无法在 Unity3D 中构建 Android APK

javascript - 针对不同架构的 React Native 发布版本创建了 4 个 apk