10

我正在尝试查看是否可以在不下载 .apk文件的情况下远程更新用户手机上的应用程序。(这是我“老板”的信息收集请求。他认为这在 iOS 上是可能的,所以他希望我在 Android 上检查)。

本质上,我试图让我的应用程序偶尔从我们的网络服务器中提取一个版本号,看看它是否需要更新,如果需要,那么应用程序会请求许可,然后下载新文件(更新源代码、.xml 布局文件、图像等),从而完全无需从 Play 商店下载我们的 APK(大小为 50mb)以进行修补程序甚至小功能更新。

根据我的发现:

  1. 我可以下载可以阅读更多内容的资源/数据文本文件,但不能真正修改源代码,因为...

  2. APK 文件在创建时基本上是“烘焙”的,因此源代码、.xml 文件等被最小化、重命名和混淆,这意味着向现有 APK 添加新功能或修补程序将很困难。我认为您可以更改图像,但仅此而已。

我相信Candycrush在下载新关卡时会以某种方式做到这一点(一个不涉及 Play 商店的应用内更新),但这可能只是方法 1。Firebase 远程配置的简要研究也有类似的东西,但受限于 pre -设置参数意味着尝试将其用于修复/更新可能会参差不齐。

我是正确的还是我遗漏了一些明显的东西?

4

2 回答 2

9

我认为您的问题可以通过使用patchingsystem.

一些图书馆可以帮助你:

  1. 修补匠

    Tinker 是 Android 的热修复解决方案库,它支持 dex、库和资源更新,无需重新安装 apk。

  2. 和修复

    AndFix 是一种在线修复错误的解决方案,而不是重新分发 Android 应用程序。它作为 Android 库分发。

    Andfix 是“Android hot-fix”的缩写。

    AndFix 支持从 2.3 到 7.0 的 Android 版本,ARM 和 X86 架构,Dalvik 和 ART 运行时,32 位和 64 位。

    AndFix的补丁压缩文件格式为.apatch。它从您自己的服务器发送到客户端以修复您的应用程序的错误

    原理
    AndFix的实现原理是方法体的替换,

    在此处输入图像描述 ...

  3. 朋友

    Amigo 是一个修补程序库,可以为您的 Android 应用程序修复几乎所有内容。

于 2016-11-15T02:15:31.573 回答
0

不更新 apk 就不可能更新源代码。Firebase Remote Config 可以帮助您在不更新应用的情况下更新某些参数的值。您也可以定义自己的方式从自己的服务器下载附加文件,但应用程序内的源代码不能更改。

于 2016-11-15T01:51:24.477 回答