美文网首页
virtualapk接入 注意事项

virtualapk接入 注意事项

作者: ping0505 | 来源:发表于2017-08-03 13:42 被阅读59次

    1.按照 https://github.com/didi/VirtualAPK  说明进行接入  注意在插件 app build下载 引入 compile'com.didi.virtualapk:core:0.9.0'   由于官方没有说明 否则会出现问题 

    2.接入可参考 http://www.jianshu.com/p/013510c19391  关键点是下面常见错误解法   

    宿主和插件使用的sdk必须一致 否则 跳转插件的时候出现错误   

    3.插件与宿主中的资源命名(layout drawable) 不要重名 否则会出问题

    4.切记按照官方的步骤来 要不坑太多 里面的 限制也比较多 支持的还不否广

    源码分析 :

    application初始化:

    PluginManager.getInstance(base).init();

    /./此处修改应用的classloader    优先了解classloader加载机制  (先查找自身classloader 是否有缓存  没有的话 先parent  classloader加载类 找到加载内存 缓存  找不到的话在自身查找  原则---自上而下 查找)

    classloader --- pathList -- dexElements

    1.先利用dexclassloder加载插件的apk,

    2.利用反射加载插件中的 dexelements 

    3.加载宿主中的dexelements 

    4.将两个dexelments合并 利用hook basedexclassloader中的 dexelements 这样就能加载到插件中的class了 

    //这面这个方法 不知道何时用

    broadcastReciver采用动态注册 

    启动activity追踪源码   进入到vaubstrunebtation

    //获取代理activity

    资源查找过程:

    https://www.notion.so/VirtualAPK-1fce1a910c424937acde9528d2acd537

    //老罗的资源方面源码解析

    http://blog.csdn.net/luoshengyang/article/details/8791064

    http://blog.csdn.net/luoshengyang/article/details/8744683

    相关文章

      网友评论

          本文标题:virtualapk接入 注意事项

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