Amigo

Android 的 hotfix 库
授权协议 Apache
开发语言 Java
所属分类 手机/移动开发、 手机开发工具
软件类型 开源软件
地区 国产
投 递 者 端木安国
操作系统 Android
开源组织
适用人群 未知
 软件概览

Amigo,是一个Android 平台的hotfix库,由饿了么公司开源。

用法

在project 的build.gradle 中

   dependencies {
     classpath 'me.ele:amigo:0.0.5'
   }

在module 的build.gradle 中

   apply plugin: 'me.ele.amigo'

就这样轻松的集成了Amigo。

生效补丁包

补丁包生效有两种方式可以选择:

  • 稍后生效补丁包

    如果不想立即生效而是用户第二次打开App 时才打入补丁包,第二次打开时就会自动生效。可以通过这个方法

    File hotfixApk = Amigo.getHotfixApk(context);FileUtils.copyFile(yourApkFile, hotfixApk);Amigo.workLater(context);Amigo.workLater(context, apkFile);
  • 立即生效补丁包

    如果想要补丁包立即生效,调用以下两个方法之一,App 会立即重启,并且打入补丁包。

    Amigo.work(context);
    Amigo.work(context, apkFile);

删除补丁包

如果需要删除掉已经下好的补丁包,可以通过这个方法

Amigo.clear(context);

提示:如果apk 发生了变化,Amigo 会自动清除之前的apk。

相关阅读:

https://github.com/eleme/Amigo/wiki

https://github.com/WeMobileDev/article/blob/master/%E5%BE%AE%E4%BF%A1Android%E7%83%AD%E8%A1%A5%E4%B8%81%E5%AE%9E%E8%B7%B5%E6%BC%94%E8%BF%9B%E4%B9%8B%E8%B7%AF.md

  • 转载请注明出处:https://juejin.im/post/5a69c917f265da3e2b169d51 写在开头 上一篇博文中对比了当下比较热门的热修复框架,并看到了Tinker 框架Demo 的展现过程。Tinker 的开源时间较晚,功能和文档更加完善。但不能对四大组件进行热更也是比较遗憾。不过我们发现另一个热修复开源框架Amigo,比起其他热修复框架,Amigo 可实现四大组件的添加。

  • 之前写过一片:与Android热更新方案Amigo的初次接触,主要是记叙了Amigo的接入和使用。 最近读了一下Amigo的源码,而且看了看网上其他讲Amigo源码的文章,它们所针对的代码都和最新的Amigo代码有所出路,所以针对最新的代码,浅浅的分析一下。 Amigo的最近更新已经是8个月之前了。我最近更新了Android Studio3.0,gradle版本3.1.1。但是Amigo使用的gr

  • amigoOS是一款基于安卓深度定制的手机操作系统,于2013年7月10日首次发布,它重点强调人与机器之间的关系,愿景是打造能够像朋友一样陪伴用户的手机操作系统。 Amigo,够朋友! 功能特色: NAVI系统导航 锁屏主页:史上最纯净的解锁界面,让你爱上点亮屏幕 锁屏快板:相机、录音、手电、虚拟来电,手机的快捷工具箱 锁屏翻翻:在锁屏界面快速浏览最新资讯,每日“8点快讯”相伴 多任务卡片:快速在

  • Amigo 作为一个“过气”的的热修复框架,用来学习和了解一下热修复的基本原理还是很好的。本文是本系列的第三篇。 前两篇: 与Android 热更新方案Amigo的初次接触 原作者已经很久没有更新的,我之前适配了Android8.0 和gradle3.0,最近适配的Android P。 我使用的是最新的环境Android Studio 3.4.1。gradle 插件版本5.1.1 gradle版本

 相关资料
  • 我已经将flutter升级到1.12.13+hotfix.5,之后我得到的错误是未移植的Android插件版本:3.5.3。 当我将gradle构建降级到3.5.2、3.5.1、3.5.0+时,它会显示以下错误: 完成时出现错误:Gradle构建未能生成。apk文件。这个文件很可能是在C:\users\tiwaria\documents\x-project\build下生成的,但是工具找不到它。

  • 当我运行时,将flutter 1.9.1+hotfix2升级到后,flutter结束时出现错误:

  • 问题内容: 我将eclipse用于Google Android开发。 我创建了一个库项目(在Android设置中),其中包括一个外部jar文件(参考库)。该库项目在另一个项目(将使用该库项目的实际项目)中引用。这是通过在Android设置下添加项目来完成的。 源代码可以编译,但是如果我想在设备上执行它,则将获取NoClassDefFoundError,该类 位于库项目中包含的jar文件中 。 编辑

  • 本文向大家介绍Python中的XML库4Suite Server的介绍,包括了Python中的XML库4Suite Server的介绍的使用技巧和注意事项,需要的朋友参考一下 在继续阅读本文之前,您务必要对我们在本专栏中将要讨论的一些技术有所了解。我们要使用的技术包括:可扩展的样式表语言转换(Extensible Stylesheet Language Transformations,XSLT)、

  • 本文向大家介绍详解Django中的form库的使用,包括了详解Django中的form库的使用的使用技巧和注意事项,需要的朋友参考一下 Django带有一个form库,称为django.forms,这个库可以处理我们本章所提到的包括HTML表单显示以及验证。 接下来我们来深入了解一下form库,并使用她来重写contact表单应用。 Django的newforms库 在Django社区上会经常看到

  • 我现在正在尝试让它运行在我的Android平板电脑使用处理Android模式。但是我得到了很多编译器错误说“找不到符号”。 我正在使用我使用https://github.com/Processing/processing-library-template创建的一些处理库。 这些库本身并不实际访问系统资源或调用处理库。或Java.util以外的任何其他外部Java。他们只是在操纵数据结构。 更新:进

  • 比如我们在开发一个后端项目, 里面使用mysql数据库, 请问常规做项目的情况下对数据库的表的初始化操作,里面的字段是在项目第一次启动之前就预设好了,还是指的是,在第一次启动项目的时候,看到表不存在,然后再进行创建表呢?

  • 本文向大家介绍Android的Glide库加载图片的用法及其与Picasso的对比,包括了Android的Glide库加载图片的用法及其与Picasso的对比的使用技巧和注意事项,需要的朋友参考一下 Glide Glide是一个高效、开源、 Android设备上的媒体管理框架,它遵循BSD、MIT以及Apache 2.0协议发布。Glide具有获取、解码和展示视频剧照、图片、动画等功能,它还有灵活