【问题标题】:Updating App without installing new APK更新应用程序而不安装新的 APK
【发布时间】:2016-11-15 01:41:09
【问题描述】:

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

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

根据我的发现:

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

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

我相信 Candycrush 在他们下载新关卡(不涉及 Play 商店的应用内更新)时会以某种方式做到这一点,但这可能只是方法 1。Firebase 遥控器的简要研究config 也有类似的东西,但是预先设置参数的限制意味着尝试使用它来修复/更新可能会参差不齐。

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

【问题讨论】:

  • 你是对的!不下载就无法更新apk文件。

标签: android apk hotfix


【解决方案1】:

我认为您的问题可以通过使用patching 系统来解决。

一些图书馆可以帮助你:

  1. Tinker

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

  2. AndFix

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

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

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

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

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

    ...

  3. Amigo

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

【讨论】:

  • 嗯,这些看起来很有希望。当然,我担心可能的限制,但这只是我的更多研究。谢谢@ישואוהבאותך
  • 不客气。我希望您以后可以与我们分享您的研究作为问答。祝你好运;)
  • 很遗憾,这违反了 Google Play 开发者政策。 “从 Google Play 下载的应用不得使用 Google Play 更新机制以外的任何方法修改、替换或更新自己的 APK 二进制代码。”
  • 好吧@DavidLo?请与我们分享您的研究,这是我们帮助您后您至少可以做的事情......
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-12
    • 1970-01-01
    相关资源
    最近更新 更多