一、组件组件化开发就是将一个app分成多个模块,每个模块都是一个组件(Module),开发的过程中我们可以让这些组件相互依赖或者单独调试部分组件等,但是最终发布的时候是将这些组件合并统一成一个apk,这就是组件化开发。  组件架构示意图优点: 1.将APP业务模块分开开发和维护,有利于提高效率 2.一个业务分为一个组件,每个组件可以单独开发以实现并发开发,进一步提高效率 3
转载 2023-10-16 22:35:23
234阅读
文章目录插件历史插桩式实现插件插状是如何解决生命周期的插桩实现的缺点Hook式实现插件演进Hook技术绕开系统限制 实现无注册式跳转解决插件之间耦合性-LoadedApk商业插件之旅DroidPlugin插件基本原理特点缺点 插件历史2014 - 任玉刚推出新一代插件技术dynamic-load-apk2015 - 360公司推出插件技术DroidPlugin后面陆续推出 Smal
  这是未来的倾向,很可能将会国内大厂提供这样的服务来引导插件升级流程。 对比一下普通组件架构和AAB的架构。 可以看出,AAB的架构比普通组件架构少了应用层,原来在应用层的逻辑被转移到基础层中了。 在基础层做dex加载,res加载,lib加载,以及Activity启动跳转分发等功能。之前我们说过AAB的架构非常适合做热修复热补丁的功能,是因为其包体细小,并且功
写在前面;这几年移动开发业界兴起的「 插件技术 」的旋风,各个大厂都推出了自己的插件框架,各种开源框架都评价自身功能优越性,令人目不暇接。随着公司业务快速发展,项目增多,开发资源却有限,如何能在有限资源内满足需求和项目的增长,同时又能快速响应问题和迭代新需求,这就是一个矛盾点。此时,插件技术正好风生水起,去了解各个主流框架实现思路,看看能对目前工作是否有帮助,是很有必要的。主要分为以下几个部
一、Altas ( 阿里巴巴 )、二、DynamicAPK ( 携程 )、三、VirtualApp ( 罗迪 )、四、DroidPlugin ( 360 )、五、dynamic-load-apk ( 任玉刚 )、六、Shadow ( 腾讯 )、七、Phantom ( 满帮 )、八、RePlugin ( 360 )、九、Small、十、VirtualAPK ( 滴滴 )、
原创 2022-03-07 18:38:59
1667阅读
0x00 前言:插件的介绍阅读须知:阅读本文的童鞋最好是有过插件框架使用经历或者对插件框架有过了解的。前方高能,大牛绕道。最近一直在关注 Android 插件方面,所以今天的主题就确定是 Android 中比较热门的“插件”了。所谓的插件就是下载 apk 到指定目录,不需要安装该 apk ,就能利用某个已安装的 apk (即“宿主”)调用起该未安装 apk 中的 Activity 、S
1.什么是插件化开发首先我们先来看看通过插件化开发后的APP是什么样的效果。这里就用最典型的插件APP 360手机卫士 来演示一下什么是插件的APP。 可以看到,打开应用后在切换到工具箱中有很多功能,我的工具中先是有8个自带的功能,然后点击更多工具可以去添加,点添加后先是下载,下载完成就可以打开使用了。 我们再来首先看看APP的大小,才15.62M,是不是很惊讶啊。 在上面演示的图片中那些
转载 2023-11-22 16:41:13
146阅读
由于框架开发更新频繁的原因一直都没有时间写出框架的基本架构让大家云里雾里的,现在框架已基本稳定和完善,我就抽出时间写写关于apkplug框架的基本架构和原理,同时也跟大家一起研究利用apkplug框架玩出更新的功能。 一 apkplug的基本架构     apkplug简单的说是一个容器它将apk文件解析并映射成Bundle ,下文我们简称Bundl
一、技术背景        Android插件技术,目前已经比较成熟,微信、淘宝、携程、360手机助手中都应用到了插件插件技术的特点是无需单独安装apk,即可运行,即插即用,无需升级宿主应用,减少app的更新频率,除此之外他还可以降低模块耦合,按需加载,节省流量等特点。 二、已有框架技术对比1从是否支持四大组
LeakCanary 与 鹅场Matrix ResourceCanary对比分析 Android插件已经出来好几年了,各大厂都出了各自方案,引用Wiki中VirtualAPK和其他开源框架的对比如下:  VirtualAPKVirtualAPK是滴滴出行自研的一款优秀的插件框架,主要有如下几个特性。功能完备支持几乎所有的Android特性;四大组件方面四大组件均不
框架是建立在 Dynamic-load-apk进行的上层封装。增加插件动态加载到libs目录和针对模块Service的注入。本文将以H5Core(Hybrid)为插件进行讲解。更新日志:> * 2016/7/6 commit -m “增加懒加载功能” hash: 2a335dc49654c80fb6779cacefdf3ed712c23a8插件框架简介插件是将Apk中功能类似的模块封
一、前言首先思考一个问题:为什么需要应用插件插件能带来哪些好处?应用开发遇到的问题:        1、在不断迭代的过程中,代码越来越庞大,对项目的分工协作和管理都带来了挑战。        2、对于已经全量发布的版本突然发现严重bug需要紧急修复,或者产品有一个紧急需求需要立即上线,重新发布新版本十分耗时,迫切
来看看现有插件框架的对比。目录:MulitDex 引起的问题插件需要解决的问题与方案插件实现方案分析对比  1. MulitDex 引起的问题在应用安装到手机上的时候 dex 文件的安装是复杂的,有可能会因为第二个 dex 文件太大导致 ANR。使用了 mulitDex 的 App 有可能在 4.0(api level 14) 以前的机器上无法启动,因为 Dal
工作原理android 系统运行的基础是基于四大组件,那么插件框架工作过程也离不开四大组件相关的流程(生命周期等),而 DroidPlugin 是一种非侵入式的设计方案,即插件程序,可以完全按照正常的app开发方式,和宿主间几乎无耦合,同时,宿主启动apk的过程,完全按照android原生api的调用方式,进行启动。以Activity为例,简要描述下在安装插件app的情况下,启动一个插件中Act
转载 2023-07-27 11:00:00
138阅读
# Android手写插件框架探究 在Android应用开发中,插件框架的出现极大地提升了应用的扩展性和灵活性。特别是对于大型项目,通过插件架构,实现功能模块的解耦,能够有效降低耦合度,提升开发效率。本文将为大家介绍如何手写一个简单的Android插件框架,并通过代码示例加以说明。 ## 插件框架的基本概念 在了解手写插件框架之前,首先需要明白插件的基本概念。插件是指将一个完
原创 10月前
44阅读
Android 插件框架 Atlas 是一个用于动态加载 Android 应用插件框架,它可以提升应用的模块和可扩展性,让开发者可以更灵活地管理应用功能。下面我将详细记录解决“Android 插件框架 Atlas”相关问题的过程,配合实际案例及技术详情,希望能对大家的开发工作有所帮助。 ### 环境准备 在开始之前,我需要确保我的开发环境能够与 Atlas 框架兼容。以下是我使用的版本
原创 7月前
86阅读
Android插件开发 —— 基础入门篇1. 插件开发的三个角色宿主App(PluginHost) 用户已经安装在手机上的应用,通过宿主可以加载插件,实现动态加载。插件(Plugin) 用户尚未安装的应用,通过宿主进行加载。插件接口(PluginSDK) 宿主和插件共用的接口。2. 如何加载未安装的apk?使用DexClassLoader可以加载一个未安装的apk中的类1. 关于PathCl
最近项目中,有些子功能需要按需加载,于是考虑使用插件方案实现,看过几个插件方案后,最终选择了360之前开源的DroidPlugin方案。在使用中,还是有一些心得体会,网上的源码分析,详细原理分析的文章一经很多(文末会有链接),本篇文章,主要从使用的角度入手,简单描述下DroidPlugin原理,也记录下使用中心得体会。基本原理阅读了部分DroidPlugin的源码,也看了部分网上的文章和and
转载 2023-08-31 18:14:58
66阅读
DL框架全称是dynamic-load-apk,github的项目地址为:https://github.com/singwhatiwanna/dynamic-load-apk,项目发起者是百度的高级安卓工程师任玉刚,Android圈子混的人对任玉刚的名字很大可能听过,他写的书《Android开发艺术探索》相信很多同行也读过,而本人第一次接触到DL框架,也是因为这本书的机缘。首先,先看看DL的简单的
转载 2024-01-09 14:06:17
29阅读
dynamic-load-apk源码分析Dynamic-Load-Apk源码解析 Android插件化学习之路(八)之DynamicLoadApk 源码解析(上)主要思想主要是通过代理来完成Activity,Service的相关操作 缺点不支持IntentService,不支持 Provider,静态广播; 插件编写规范上有一定的限制,比如无法直接使用this,需要继承指定的类 不支持Launch
  • 1
  • 2
  • 3
  • 4
  • 5