插件化开发技术原理

作者: suym | 来源:发表于2017-02-22 08:59 被阅读81次

    插件化开发技术的核心就是DexClassLoader类。它的构造方法:

    publicDexClassLoader (StringdexPath,StringdexOutputDir,StringlibPath, ClassLoaderparent)

    参数详解:

    dexPath:dex文件路径列表,多个路径使用”:”分隔

    dexOutputDir:经过优化的dex文件(odex)文件输出目录

    libPath:动态库路径(将被添加到app动态库搜索路径列表中)

    parent:这是一个ClassLoader,这个参数的主要作用是保留java中ClassLoader的委托机制(优先父类加载器加载classes,由上而下的加载机制,防止重复加载类字节码)

    插件框架主要包含以下三个部分:

    一、插件框架的初始化,主要是生成需要代理的各种接口的处理器InvocationHandler的过程。

    二、我们安装插件的过程,就是把插件apk及其dex文件复制到框架data\data目录下的过程,这个目录就是DexClassLoader 构造方法dexOutputDir这个参数。这样插件框架就可以加载我们的插件的类了。

    三、调用插件、代理生命周期方法的过程。

    下面是我将网上的有关android的文章转换成word文档后的汇总。

    并调整了排版,主要是方便在手机上阅读。

    https://github.com/suyimin/android-doc

    欢迎star

    相关文章

      网友评论

        本文标题:插件化开发技术原理

        本文链接:https://www.haomeiwen.com/subject/rzppwttx.html