[原创]Android插件化的一种实现】的更多相关文章

Android的插件化已经是老生常谈的话题了,插件化的好处有很多:解除代码耦合,插件支持热插拔,静默升级,从根本上解决65K属性和方法的bug等等. 下面给大家介绍一下我们正在用的插件化框架.本片主要以类图的方式向大家介绍插件化框架的实现.下图是框架的初始化流程: 框架初始化后,就该启动插件了,下图是插件的启动流程: 这个步骤主要是初始化插件的运行环境,利用宿主的Context改造成插件的Context.接下来是插件启动Activity的流程: 该步骤主要是用宿主的Activity包装插件的Ac…
客户端开发给人的印象往往是小巧,快速奔跑.但随着产品的发展,目前产生了大量的门户型客户端.功能模块持续集成,开发人员迅速增长.不同的开发小组开发不同的功能模块,甚至还有其他客户端集成进入.能做到功能模块开发和发布的独立,能像Html5一样能帅气的解决bug并动态更新到用户的手机,一直是客户端开发的梦寐以求的特性. 一.问题提出      一般的,一个Android应用在开发到了一定阶段以后,功能模块将会越来越多,APK安装包也越来越大,用户在使用过程中也没有办法选择性的加载自己需要的功能模块.此…
欢迎各位增加我的Android开发群[257053751​] 假设你还不知道什么叫插件化开发.那么你应该先读一读之前写的这篇博客:Android插件化开发,初入殿堂 上一篇博客主要从总体角度分析了一下Android插件化开发的几个难点与动态载入没有被安装的apk中的Activity和资源的方法.事实上一般的插件开发主要也就是载入个Activity.读取一些资源图片之类的.可是总有遇到特殊情况的时候,比方载入Service. 要动态载入Service,有两种思路:一是通过NDK的形式.将Servi…
最近几年移动开发业界兴起了「 插件化技术 」的旋风,各个大厂都推出了自己的插件化框架,各种开源框架都评价自身功能优越性,令人目不暇接.随着公司业务快速发展,项目增多,开发资源却有限,如何能在有限资源内满足需求和项目的增长,同时又能快速响应问题和迭代新需求,这就是一个矛盾点.此时,插件化技术正好风生水起,去了解各个主流框架实现思路,看看能对目前工作是否有帮助,是很有必要的. 主要分为以下几个部分 插件化介绍 入门知识 实现原理 主流框架 实战 小结 进阶资料 插件化介绍 百度百科里是这么定义插件的…
Android插件化的思考--仿QQ一键换肤,思考比实现更重要! 今天群友希望写一个关于插件的Blog,思来想去,插件也不是很懂,只是用大致的思路看看能不能模拟一个,思路还是比较重要的,如果你有兴趣的话,也可以加群:555974449,你也可以说出你想看的Blog哦,嘿嘿!好的,不多说,我们进入正题: 关于QQ的换肤,他们的实现思路我不是很清楚,但是你可以看一下这张换肤的截图 我们想使用哪个主题就直接下载就好了,这一实现的过程我们大致的可以猜想: 首选是下载到本地指定文件夹,然后通过插件加载到我…
概论  插件式开发通俗的讲就是把一个很大的app分成n多个比较小的app,其中有一个app是主app.基本上可以理解为让一个apk不安装也可以被运行.只不过这个运行是有很多限制的运行,所以才叫插件. 其实在目前淘宝.百度.腾讯等都有成熟的动态加载框架,包括apkplug,但是它们都是不开源的,你只需要按照他们的文档操作即可. 做插件化有什么好处么? 做插件化真正的目的:是为了去适应并行开发,是为了解耦各个模块,是为了避免模块之间的交叉依赖,是为了加快编译速度,从而提高并行开发效率. 插件化,组件…
在Android 插件化技术中(宿主app和插件app设置相同的sharedUserId),动态加载apk有两种方式: 一种是将资源主题包的apk安装到手机上再读取apk内的资源,这种方式的原理是将宿主app和插件app设置相同的sharedUserId,这样两个app将会在同一个进程中运行,并可以相互访问内部资源了. 一种是不用安装资源apk的方式.其原理是通过DexClassLoader类加载器去加载指定路径下的apk.dex或者jar文件,反射出R类中相应的内部类然后根据资源名来获取我们需…
概述 在Android开发中,插件化和热修复的话题越来越多的被大家提及,同时随着技术的迭代,各种框架的发展更新,插件化和热修复的框架似乎已经日趋成熟,许多开发者也把这两项技术运用到实际开发协作和正式的产品当中.因此,我们势必需要了解一下这两门技术. 插件化和热修复 首先需要明确的一点,插件化和热修复不是同一个概念,虽然站在技术实现的角度来说,他们都是从系统加载器的角度出发,无论是采用hook方式,亦或是代理方式或者是其他底层实现,都是通过“欺骗”Android 系统的方式来让宿主正常的加载和运行…
本书在京东购买地址:https://item.jd.com/31178047689.html 本书Q群:389329264 (一)这是一本什么书 如果只把本书当作纯粹介绍Android插件化技术的书籍,那就大错特错了. 本书在研究Android插件化之余,还详细介绍了Android系统的底层知识,包括Binder和AIDL的原理.四大组件的原理.App的安装和启动流程.Context和ClassLoader的家族史.没有罗列大量的Android系统中的源码,而是以一张张UML图,把这些知识串起来…
首先声明,<Android插件化开发指南>这本书所介绍的Android底层是基于Android6.0(API level 23)的,而本书介绍的各种插件化解决方案,以及配套的70多个例子,在Android7.0(API level 24)手机上测试都是能正常工作的. 如果读者您的手机是Android 26.27,甚至28(也就是Android P),那么会有30个插件化的例子不能正常工作,这是因为Android系统底层的源码改动导致的. 本篇文章,专门介绍Android O的改动对插件化产生的…