美文网首页
Android插件研究-资源加载

Android插件研究-资源加载

作者: andev009 | 来源:发表于2018-02-01 17:58 被阅读13次

    Android插件现在很多,这里主要参考http://blog.csdn.net/jiangwei0910410003/article/details/48104455
    因为文章中的Demo在CSDN里下载不方便,于是码了个demo传github,给想研究的人省一些麻烦。
    [传送门]https://github.com/andev009/LearnPlugin
    使用方法如下:
    1.运行module:plugin生成插件plugin-debug.apk
    2.在手机或模拟器上运行module:firsthostapp
    3.adb push plugin-debug.apk data/data/com.andev.firsthostapp/cache
    4.enjoy

    简要分析资源加载的过程得出结论:
    1.插件使用DexClassLoader加载,DexClassLoader与PathClassLoader的区别从构造方法就可以看出来,DexClassLoader可以加载用户指定路径上的dex文件,而PathClassLoader不行。
    2.宿主app使用插件中的资源需要重新构建Resources对象,新Resources对象要通过AssetManager加入插件的路径,否则反射调用插件中context.getResources()得到的Resources依然是宿主的Resources,资源表里依然没有插件资源。
    以上两点就是插件化加载资源的原理。

    相关文章

      网友评论

          本文标题:Android插件研究-资源加载

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