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