更新应用程序而不安装新的APK [英] Updating App without installing new APK

查看:201
本文介绍了更新应用程序而不安装新的APK的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试是否可以在不下载.apk 文件的情况下远程更新用户手机上的应用程序. (这是来自我的老板"的信息收集请求.他认为可以在iOS上使用,因此他希望我在Android上进行检查.)

I'm trying see whether it's possible to remotely update an app on a users phones without downloading an .apk file. (It's an information gathering request from my "boss". He thinks it's possible on iOS so he wants me to check on Android).

本质上,我试图让我的应用偶尔从我们的Web服务器中获取版本号,以查看是否需要更新,如果需要,则该应用会征求许可,然后下载新文件(更新源代码.xml)版面配置文件,图片等),从而完全无需从Play商店下载我们的APK(大小为50mb)以获取修补程序甚至小功能更新.

Essentially, I'm trying to have my app occasionally pull a version number from our web server to see if it needs updating, if so then the app would ask permission, then download the new files (updating source code, .xml layout files, images, etc.) and thereby bypassing the need to download our APK (which is 50mb in size) from the Play Store at all for hotfixes or even small feature updates.

根据我的发现:

  1. 我可以下载资源/数据文本文件,这些文件可以读取以获取更多内容,但实际上不能修改源代码,因为...

  1. I could download resource/data text files which could be read for more content, but can't really modify source code because...

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

the APK file is essentially "baked" when its created so source code, .xml files, etc. are minimized, renamed, and obfuscated meaning adding new features or hotfixes to an existing APK would be difficult. I think you can change images but that's about it.

我相信 Candycrush 在下载新关卡时会做到这一点(不涉及Play商店的应用内更新),但这可能只是方法1.Firebase遥控器的简要研究config也有类似的东西,但是预设参数的约束意味着试图使用它进行热修复/更新可能参差不齐.

I believe Candycrush does it somehow when they download new levels (an in-app update that doesn't involve the play store), but that might just be method 1. Brief research of Firebase's remote config also has something similar but the constraint of pre-setting parameters means trying to use it for hotfixing/updating might be spotty.

我要纠正还是我遗漏了明显的东西?

Am I correct or am I missing something obvious?

推荐答案

我认为可以使用patching系统解决您的问题.

I think your problem could be solved by using patching system.

某些图书馆可以为您提供帮助:

Some library could help you:

  1. 修补匠

Tinker是适用于Android的修补程序库,它支持dex,库和资源更新,而无需重新安装apk.

Tinker is a hot-fix solution library for Android, it supports dex, library and resources update without reinstalling apk.

  • AndFix

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

    AndFix is a solution to fix the bugs online instead of redistributing Android App. It is distributed as Android Library.

    Andfix是"Android hot-fix"的首字母缩写.

    Andfix is an acronym for "Android hot-fix".

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

    AndFix supports Android version from 2.3 to 7.0, both ARM and X86 architecture, both Dalvik and ART runtime, both 32bit and 64bit.

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

    The compressed file format of AndFix's patch is .apatch. It is dispatched from your own server to client to fix your App's bugs

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

    Principle
    The implementation principle of AndFix is method body's replacing,

    ...

  • Amigo

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

    Amigo is a hotfix library which can fix almost everything for your Android app.

  • 这篇关于更新应用程序而不安装新的APK的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

    查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆