Android插件化开发教程(一)

1.什么是插件化开发

首先我们要对插件化的概念有一个认识:插件化开发是将整个app拆分成很多模块,这些模块包括一个宿主和多个插件,每个模块都是一个apk(组件化的每个模块是个lib),最终打包的时候将宿主apk和插件apk分开或者联合打包。

插件式开发通俗的讲就是把一个很大的app分成n多个比较小的app,其中有一个app是主app。基本上可以理解为让一个apk不安装也可以被运行。只不过这个运行是有很多限制的运行,所以才叫插件否则就叫病毒了。

2.插件化开发的优缺点

优点:

1.模块解耦

2.解除单个dex函数不能超过65535的限制

3.支持动态升级

4.高效开发(编译速度更快)

基于插件化的开发列举一个比较突出的优点:

app的扩展非常容易,如一个新的功能界面要加到旧版本的应用程序中,只需把这个新的功能界面做为一个插件,只开发这个小的插件就可以了,旧的应用程序可以保持不变,连编译打包都不需要。

缺点:

1.增加了主应用程序的逻辑难度

2.成熟稳定的解决方案较少


3.现阶段开放出来的插件化开发框架

1 Dynamic-load-apk    百度

2 Direct-Load-apk   FinalLody

3 Android-Plugin-Framework  limpoxe

4 ACDD                      bunnyblue

5 DynamicAPK           携程

6 DroidPlugin              @cmzy, 360

7 Small                        wequick

这些框架的优缺点总结如下图:

Android插件化开发教程(一)_第1张图片

可以看出Small支持较为全面。

下一篇将会讲解如何使用Small框架进行插件化开发

你可能感兴趣的:(Android插件化开发教程(一))