本文索引
前言
接上文: 基础准备工作已经做好,接下来分析代码、会说明宿主该写哪些代码、插件该写哪些代码、以及会夹带着分析其中shadow使用的技术栈及原理、并从0到尾的来分析如何加载插件的启动activity以及各个插件包及宿主的各个包的加载逻辑及原理,以及每段代码的存在的意义。本文还会穿插介绍宿主加载插件遇到的问题及解决办法,以及如何做联调测试,可以说是非常保姆级别的教程了。本文只是分析宿主如何加载插件的activity,不做深入分析,因为还需要实战并且再多集成很多插件才能测试出一些问题,这里只结合自己的实践来分析目前所能了解的,后面会慢慢深入。
插件打包后如何交给宿主使用?
上文说到插件打包会在插件项目根路径下的build文件夹下生成plugin-debug.zip包。最终在实际项目运行时会将此zip包上传至服务器供宿主调用。这里会涉及插件开发商与宿主开发商对插件包的的一个版本控制,这里需要宿主方提供方法来管理插件包,并做版本控制。由于代码比较简单这里只提供思路。
一般我们做测试话都会在自己的宿主项目中创建一个assets资源文件夹,用来保存各个厂家的插件包和宿主的插件管理器包。如下宿主的asstes资源文件夹的结构目录:以下的demo中我准备了两个插件包,分别是TP1 和 TP2
接下来在宿主应用中指定assets目录
sourceSets {