droidplugin webview加载 assert的问题

在DroidPlugin框架中,当插件使用WebView加载Asserts文件时会出现失败的情况,尽管DroidPlugin本应处理资源问题。WebViewFactoryProviderHook类似乎能解决此问题,但其工作原理不明确。作者通过分析代码提出了一种新的解决方案,即通过动态代理WebViewProvider来实现对插件WebView的修复,并提醒注意360的解决方案可能存在的宿主进程问题,应判断是否为插件后再执行修正操作。
摘要由CSDN通过智能技术生成

droidplugin中如果插件中用webview loadurl是asserts文件会读取失败,按道理droidplugin 算是默认处理资源问题,因为创建的context apk路径默认指向插件的apk所在的问题,但webview是不行的,但我看droidplugin代码时候有一个WebViewFactoryProviderHook 这类,貌似是解决assert的问题的,然后像别的类,installhook 之后插件webview就可以读取了(默认没有任何调用),但我不知道为什么那么写就可以,我顺着loadurl 这个方法看代码,无法推出解决方法由来,估计360是分析整个webview加载的顺序推出来的。

    我分析代码得出另外的解决webview的办法,同时可以增加webview操作,通过动态代理webviewProvider,然后对应的处理就可以做到了,直接贴简单的代码。

 protected void afterInvoke(Object receiver, Method method, Object[] args, final Object invokeResult) throws Throwable {
            if (mWebView != null) {


                Class clazz = invokeResult.getClass();
                List<Class<?>> interfaces = Utils.getAllInterfaces(clazz);
                Class[] ifs = interfaces != null && interfaces.size() > 0 ? i
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值