RePlugin
RePlugin copied to clipboard
简化RePlugin对宿主PathClassLoader的处理,去掉对私有API的依赖。
要解决的问题 Describe the problem to be solved
在我写Tencent Shadow之前,我曾经调研过RePlugin。发现RePlugin实现将插件Activity.class返回给系统使用的核心代码实现的有些麻烦了,而且还使用了很多私有API。
终于等到公司同意Tencent Shadow开源,特来将这段代码贡献给RePlugin。也希望RePlugin团队能同我们就插件框架技术有所交流。
这个PR如果有考虑不周之处,希望能得到指点。
个人观点 最好还是沿用以前的结构,不然就没法自定义RepluginClassLoader了 不过想法还是挺棒的
原来RepluginClassLoader中可以做的Hook也都可以在PMFClassLoader中做。因为PathClassLoader总是尊重parent的ClassLoader的。
试过了,PMF.loadClass在调用时会导致死循环。。。。
这两个插件化框架该如何选择呢?两官方作者什么建议呢?