
Android插件化技术
文章平均质量分 97
子云心
这个作者很懒,什么都没留下…
展开
-
Android插件化原理和实践 (八) 之 注意事项
注意事项关于插件化的三个根本问题和解决方案就已经全部介绍完毕了,前一篇文章也通过一个入门级的工程来完整地演示了。但是其实目前热门的插件化框架也远不止这些内容,我们在实际开发中也远不止这么简单。前面介绍的所有知识点只是一个入门而已,插件化虽然带来了很多便利,但是在开发过程中也增添了不少麻烦和额外工作量,它堪比一把双刃刀。这里顺便总结一下笔者在实际插件化项目开发中增经遇到的一些坑:修改aapt...原创 2018-12-12 13:31:04 · 409 阅读 · 0 评论 -
Android插件化原理和实践 (七) 之 项目实践
我们在前面一系列文章中已经介绍完了插件化原理以及三个根本问题的解决方案,本文主要就是作为前面几篇文章的一个总结,通过项目实践将前面的知识点串起来使完成一个入门级简单的插件化工程以及在实际插件化开发中遇到的一些总结。实践我们先通过Android Studio创建一个工程,工程中包括了两个Application模块,分别是宿主Host和插件PlugIn。工程结构如下左图,我们的目标就是在宿主中...原创 2018-12-12 13:08:03 · 654 阅读 · 0 评论 -
Android插件化原理和实践 (六) 之 四大组件解决方案
在前面的几篇文章中已经介绍完了Android插件化的第一和第二个根本问题,就是宿主和插件的代码互相调用问题和插件中资源的读取问题。现剩下的就是Android插件化里最麻烦的第三个根本问题,也就是在插件中使用四大组件的问题。我们知道,目前插件中的四大组件要想正常使用就必须要在宿主中的AndroidManifest.xml中提前声明好,因为四大组件在启动过程中只认宿主中的AndroidManifest...原创 2018-12-10 01:00:18 · 1171 阅读 · 0 评论 -
Android插件化原理和实践 (五) 之 解决合并资源后资源Id冲突的问题
Android插件化中,要解决资源的问题,有些插件化框架会选择不合并资源,这样就得维护多套mResources变量,这样的话难免开发上没有那么的灵活和方便。所以一般地都是选择合并资源,也就是我们上一遍文章《Android插件化原理和实践 (四) 之 合并插件中的资源》介绍的办法。但是合并后资源id会冲突。为什么会有这种冲突的问题?在Android项目打包后,res目录下的每一个资源都有一个对应的资......原创 2018-12-07 13:25:19 · 6391 阅读 · 1 评论 -
Android插件化原理和实践 (四) 之 合并插件中的资源
我们继续来学习Android插件化相关知识,还是要围绕着三个根本问题来展开。在前面两章中已经讲解过第一个根本问题:在宿主中如何去加载插件以及调用插件中类和组件代码。Demo中使用了Service来演示,因为还没有解决加载插件中资源的问题,用Activity不好展示。所以本文将要从资源的加载机制讲起,然后进一步介绍AssetManager类,最后就是为解决第二个根本问题,就是在宿主加载插件后如何解决...原创 2018-12-07 12:59:58 · 3450 阅读 · 5 评论 -
Android插件化原理和实践 (三) 之 加载插件中的组件代码
我们在上一篇文章《Android插件化原理和实践 (二) 之 加载插件中的类代码》中埋下了一个悬念,那就是通过构造一个DexClassLoader对象后使用反射只能反射出普通的类,而不能正常使用四大组件,因为会报出异常。今天我们就来解开这个悬念和提出解决方法。1 揭开悬念还记得《Android应用程序启动详解(二)之Application和Activity的启动过程》中有介绍了Activi...原创 2018-12-03 23:08:41 · 638 阅读 · 0 评论 -
Android插件化原理和实践 (二) 之 加载插件中的类代码
我们在上一篇文章《Android插件化原理和实践 (一)之 插件化简介和基本原理简述》中介绍了插件化一些基本知识和历史,最后还列出了三个根本问题。接下来我们打算围绕着这三个根本问题展开对插件化的学习。首先本章将介绍第一个根本问题:宿主和插件中如何相互调用代码。要实现它们相互调用,就得要宿主先将插件加载起来。Android中要想从加载外部插件就在于ClassLoader。1 初识PathClas...原创 2018-12-03 19:16:31 · 654 阅读 · 1 评论 -
Android插件化原理和实践 (一) 之 插件化简介和基本原理简述
1 插件化简介Android插件化技术是一种这几年间非常火爆的技术,也是只有在中国才流行起来的技术,这几年间每每开发者大会上几乎都会提起关于插件化技术和相关方向。在国内各大互联网公司无不都有自己的插件化框架。插件化技术到底是什么?其实很好理解,像某些App中整合了很多功能点,而一些不是非常必要的功能一般会在用户点击功能入口时才会通过网络下载一个像补丁的东西,然后将其加载起来,使功能可用...原创 2018-12-03 19:08:42 · 1399 阅读 · 1 评论