这是他的一个加载流程,在启动插件acitivty 的时候,先替换成宿主程序中已经注册过的targetactivity,这个targetactivity是不存在的一开始,这样我们会首先进入到frameworkclassloader,发现targetactivity后,调用插件的classloder进行targetacitivity的创建,并对新生成的dex创建新的dexclassloder,用该classloder加载targetactivity,...
六、Shadow ( 腾讯 ) 七、Phantom ( 满帮 ) 八、RePlugin ( 360 ) 一、Altas ( 阿里巴巴 ) 二、DynamicAPK ( 携程 ) 框架简介 :https://www.infoq.cn/article/ctrip-android-dynamic-loading/ GitHub地址 :https://github.com/CtripMobile/DynamicAPK 三、VirtualApp ( 罗迪 ) https://github.com/asLody...
(4.6.29.4)插件化之资源加载:使用插件中的R资源 一、概述 所谓插件化,就是让我们的应用不必再像原来一样把所有的内容都放在一个apk中,可以把一些功能和逻辑单独抽出来放在插件apk中,然后主apk做到[按需调用],这样的好处是一来可以减少主apk的体积,让应用更轻便,二来可以做到热插拔,更加动态化 采集时间:2018年6...
libs') androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { ...
AxbasePlugin是一款轻量级的开源Android插件化开发框架,它为开发者提供了在无需重新安装应用程序的前提下实现动态更新的功能。此框架不仅包括了核心引擎,还采用了非隔离式的设计理念,极大地促进了宿主应用与插件之间的互动交流。 关键词 AxbasePlugin, 插件化开发, 动态更新, 非隔离设计, 代码示例 ...
在Android开发领域,插件化框架与插件开发是两个紧密相关但又有所区别的概念。本文将对这两者进行对比分析,以帮助开发者更好地理解它们的特点和应用场景。 一、插件化框架 插件化框架是一种允许开发者在不修改主体应用的情况下,动态加载和卸载插件(即功能模块)的技术框架。这种框架的优势在于提高了应用的灵活性和可...
最近在工作中接触到了Android插件内的开发,发现自己这种技术还缺乏最基本的了解,以至于在一些基本问题上浪费不少时间,如插件Context和主工程Context的区别,权限必须在主工程申明等,因此花了点时间了解了一下插件的历史,并写了两个Demo作为总结。本文旨在通过两个实例直观的说明插件的实现原理以加深对插件内开发的理解,因...
Android组件化和插件化开发(android 插件化框架) 什么是组件化和插件化? 组件化开发就是将一个app分成多个模块,每个模块都是一个组件(Module),开发的过程中我们可以让这些组件相互依赖或者单独调试部分组件等,但是最终发布的时候是将这些组件合并统一成一个apk,这就是组件化开发。
罗列几个Android插件化开发框架 携程插件化框架 部分框架对比 DynamicLoadApk 迁移成本很重:需要使用『that』而不是『this』,所有activity都需要继承自proxy avtivity(proxy avtivity负责管理所有activity的生命周期)。 无法启动apk内部的activity。 不支持Service和BroadcastReceiver。
这种思想相比于dynamic-load-apk而言,插件中 Activity 已经是实质上的 Activity ,具备了生命周期方法。今天我们要解析的 android-pluginmgr 插件化框架就是基于这种思想的。最后就是像DroidPlugin这种插件化框架,改动了 ActivityManagerService 、 PackageManagerService 等 Android 源码,以此来实现插件化。总之,并没有哪种...