[Android]动态加载/热部署框架汇总

    1.DroidPlugin

    用途:动态加载

    使用案例:360手机助手

    GitHub地址:https://github.com/Qihoo360/DroidPlugin

    ppt介绍:https://github.com/Qihoo360/DroidPlugin/tree/master/DOC

    Demo:https://github.com/SpikeKing/wcl-plugin-test-app

    详解:

    http://blog.csdn.net/yzzst/article/details/48093567

    http://v2ex.com/t/216494

    2.AndFix

    用途:热修复

    GitHub地址:https://github.com/alibaba/AndFix

    讲解:

    http://blog.csdn.net/yzzst/article/details/48465031

    http://blog.csdn.net/qxs965266509/article/details/49816007

    http://blog.csdn.net/yaya_soft/article/details/50460102

3.dexposed

用途:热修复

GitHub地址:https://github.com/alibaba/dexposed

讲解:

http://blog.csdn.net/yzzst/article/details/47954479

http://blog.csdn.net/yzzst/article/details/47659987

http://www.jianshu.com/p/14edcb444c51

4.Small

用途:动态加载

GitHub地址:https://github.com/wequick/Small

Demo:https://github.com/cayden/MySmall

5. DynamicAPK

用途:动态加载、热修复

案例:携程

GitHub地址:https://github.com/CtripMobile/DynamicAPK

详解:http://www.infoq.com/cn/articles/ctrip-android-dynamic-loading

6.ClassPatch

用途:热修复

GitHub地址:https://github.com/Jarlene/ClassPatch

详解:http://blog.csdn.net/xwl198937/article/details/49801975

7.ACDD

用途:动态加载

GitHub地址:https://github.com/bunnyblue/ACDD

8.HotFix

用途:热修复

GitHub地址:https://github.com/dodola/HotFix

该项目是基于QQ空间终端开发团队的技术文章实现的

9.Nuwa

用途:热修复

GitHub地址:https://github.com/jasonross/Nuwa

详解:http://www.jianshu.com/p/72c17fb76f21/comments/1280046

10.DroidFix

用途:热修复

GitHub地址:https://github.com/bunnyblue/DroidFix

详解:http://bunnyblue.github.io/DroidFix/

11.AndroidDynamicLoader

用途:动态加载

GitHub地址:https://github.com/mmin18/AndroidDynamicLoader

Demo:https://github.com/mmin18/AndroidDynamicLoader/raw/master/host.apk

时间: 2024-08-06 05:17:16

[Android]动态加载/热部署框架汇总的相关文章

Android动态加载及hook资料汇总

Android  Java Hook http://www.52pojie.cn/thread-288128-2-1.html http://www.52pojie.cn/thread-426890-1-2.html apk加固 http://blog.csdn.net/jiangwei0910410003/article/details/48415225 Android自动打包程序 http://www.jizhuomi.com/android/environment/281.html 360

Android动态加载框架DL的架构与基本原理解析

转载请注明出处,本文来自[ Mr.Simple的博客 ]. 我正在参加博客之星,点击这里投我一票吧,谢谢~ 前言 最近这一两年,Android App使用插件化技术开发的数量越来越大,其实还是业务地快速膨胀导致,需求越来越多,App越来越臃肿.虽然手机的内存空间不断地的增大,但是太大的安装包给用户也造成了心理压力.于是大家都会想到插件化的开发方式,把App做成一个平台,而不是一个独立的app.平台上可以集成各种各样的功能,功能模块也插件的形式添加进来,这些插件不需要安装,只需要用户按需下载到某个

Android动态加载那些事儿

基础 1.Java 类加载器 类加载器(class loader)是 Java?中的一个很重要的概念.类加载器负责加载 Java 类的字节代码到 Java 虚拟机中.本文首先详细介绍了 Java 类加载器的基本概念,包括代理模式.加载类的具体过程和线程上下文类加载器等,接着介绍如何开发自己的类加载器,最后介绍了类加载器在 Web 容器和 OSGi?中的应用. 2.反射原理 Java 提供的反射機制允許您於執行時期動態載入類別.檢視類別資訊.生成物件或操作生成的物件,要舉反射機制的一個應用實例,就

Android动态加载技术三个关键问题详解

编者按:InfoQ开设新栏目“品味书香”,精选技术书籍的精彩章节,以及分享看完书留下的思考和收获,欢迎大家关注.本文节选自任玉刚著<Android开发艺术探索>中的章节“Android的动态加载技术”,探讨了Android动态加载的三个关键问题. 动态加载技术(也叫插件化技术)在技术驱动型的公司中扮演着相当重要的角色,当项目越来越庞大的时候,需要通过插件化来减轻应用的内存和CPU占用,还可以实现热插拔,即在不发布新版本的情况下更新某些模块.动态加载是一项很复杂的技术,这里主要介绍动态加载技术中

Android动态加载Dex机制解析

1.什么是类加载器? 类加载器(class loader)是 Java?中的一个很重要的概念.类加载器负责加载 Java 类的字节代码到 Java 虚拟机中. Java 虚拟机使用 Java 类的方式如下:Java 源程序(.java 文件)在经过 Java 编译器编译之后就被转换成 Java 字节代码(.class 文件).类加载器负责读取 Java 字节代码,并转换成java.lang.Class类的一个实例.每个这样的实例用来表示一个 Java 类.通过此实例的 newInstance()

实现Android 动态加载APK(Fragment or Activity实现)

尊重原创:http://blog.csdn.net/yuanzeyao/article/details/38565345 最近由于项目太大了,导致编译通不过(Android对一个应用中的方法个数貌似有限制),所以一直琢磨着能否将某些模块的APK不用安装,动态加载,通过在网上查找资料和网友的帮助,终于实现了APK的动态加载,网络上介绍APK动态加载的文章非常多,但是我觉得写得非常好的就是这位大牛的,我基本上就是使用他的这种方案,然后加入了自己的元素.这位大牛是通过Activity实现的,我稍作修改

Android动态加载jar/dex

http://www.cnblogs.com/over140/archive/2011/11/23/2259367.html 前言 在目前的软硬件环境下,Native App与Web App在用户体验上有着明显的优势,但在实际项目中有些会因为业务的频繁变更而频繁的升级客户端,造成较差的用户体验,而这也恰恰是Web App的优势.本文对网上Android动态加载jar的资料进行梳理和实践在这里与大家一起分享,试图改善频繁升级这一弊病. 声明 欢迎转载,但请保留文章原始出处:) 博客园:http:/

android动态加载(二)

上一篇说了android中的动态加载,即在android工程中动态加载经过dx操作以后的jar文件和没有安装的apk文件,今天我们来看看怎么执行已经安装的apk中的类中的方法. 所以,我们会需要两个工程,一个是plugone,这个是我们暴露给外面的方法的一个android工程.另外一个我们暂且给他起名为useplugone吧. 先来看看plugone工程,我们在plugone工程中有这样一个类,用来暴露给调用者一个方法: package com.example.plugone; public c

Android动态加载代码技术

Android动态加载代码技术 在开发Android App的过程当中,可能希望实现插件式软件架构,将一部分代码以另外一个APK的形式单独发布,而在主程序中加载并执行这个APK中的代码. 实现这个任务的一般方法是: // 加载类cls Context pluginContext = mainContext.createPackageContext(PLUGIN_PKG, Context.CONTEXT_IGNORE_SECURITY | Context.CONTEXT_INCLUDE_CODE)