Android插件动态加载技术

如今SDK开发(插件化)越来越普遍,使用过程中若出现隐形bug,或者小的需求变更,这时就可以使用动态加载,热补丁技术来实现。

实现原理: 利用DexClassloader.loadclass实现

实现步骤:

1.将插件模块编译生成jar后,利用命令dx工具打包生成二进制的jar包(暂命名为new.jar)。

2.新建一个lib工程(暂时命名为Module A),此lib工程主要实现两个功能:

(1)对客户提供接口来调用new.jar中相应的功能。

(2)内部利用DexClassloader.loadclass来加载相应的类,实现客户需要的功能。

3.将new.jar添加到Module A的asserts目录下,配置build.gradle生成带assets文件夹的jar包.

具体实现参考文章:

配置build.gradle生成带assets文件夹的jar包

4.将(3)中生成的jar包放入到具体工程libs下即可引用new.jar中包括的功能。

你可能感兴趣的:(Android插件动态加载技术)