组件化和插件化 | 您所在的位置:网站首页 › android插件化和组件化 › 组件化和插件化 |
第一部分:区别 组件化开发:将一个app分成多个模块,可以对每个模块进行独立调试,打包时最终发布将所有的组件统一合并成一个apk。 插件化开发:将整个app拆分成多个模块,每个模块都是一个独立的apk(组件化每个模块是个libraily),最终打包的时候将宿主apk和插件apk分开或者联合打包。 第二部分:组件化相关知识 工程组件分两种:lib组件和application组件(通过在gradle设置 app plugin:"XXX") appliction组件:本身可以打包和独立运行 library组件:隶属于app的一部分,可供其他组件使用,但不是可以独立运行和打包 该工程模式的开发思想: 1)新建一个lib组件,new Module -> android library,取名为CommonUtilLib,将所有的公共工具类,网络等放入其中 2)新建一个lib组件,CommonResLib,将我们的公共资源,drawable,String,等放入其中 3)将app按照需求开始划分成多个模块 4)逐一开发模块,例如BuyCar模块,新建一个BuyCarApp组件,BuyCarApp组件可以引用基础组件(CommonUtilLib和CommonResLib),在BuyCarApp组件(是独立的app)添加BuyCarLib组件,在BuyCarLib中的activity中写业务逻辑。 备注:以上就是一个主工程多子工程的开发思想
优点: 1)每个模块可以独立开发和编译运行 2)开发单个模块时可以共享资源和工具类 3)可对独立模块进行测试 第三部分:插件化相关知识 什么是插件化? 有了组件化后为什么还要有插件化呢?插件化可以有多个apk(组件化,无论是主程序多子程序框架,但是当打包的时候,还是一个apk) 插件化的优点? 1)宿主和插件分开编译 2)并发开发 3)动态更新插件 4)按需要下载模块 5)可以写更多的方法 当前的开发的情况: 当前开放出来的插件化框架比较多,他们都有自己的优缺点: Qihoo360/DroidPluginCtripMobile/DynamicAPKmmin18/AndroidDynamicLoadersingwhatiwanna/dynamic-load-apkhoukx/android-pluginmgrbunnyblue/ACDDwequick/Small
|
CopyRight 2018-2019 实验室设备网 版权所有 |