Android 集成Crosswalk替换成X5WebView

替换的Crosswalk原因想必用过的都知道

  • Crosswalk官方已经在2017年不维护了
  • Crosswalk lib包太大,导致apk体积变大

遇到的问题总结:

  1. 在Application中初始化的时候直接闪退

错误日志: Caused by: java.lang.RuntimeException: java.lang.RuntimeException: Did not yet override the UI thread
at org.xwalk.core.ReflectConstructor.newInstance(ReflectConstructor.java:54)
at org.xwalk.core.XWalkView.reflectionInit(XWalkView.java:2082)
at org.xwalk.core.XWalkView.(XWalkView.java:261)

解决方法:参考官方给出的方法:

由于crosswalk及quic与x5存在相同的包名,会导致内核默认加载app classLoader中的类,导致内核加载失败或者出现crash,如果您需要解决该问题,可在初始化内核之前添加如下代码:

 HashMap map = new HashMap();
 map.put(TbsCoreSettings.TBS_SETTINGS_USE_PRIVATE_CLASSLOADER, true);
 QbSdk.initTbsSettings(map);// 使用独立ClassLoader进行加载
  1. X5WebView加载出来的网页,滑动的时候会有个滚动条小方块,使用如下代码可以去掉。
  IX5WebViewExtension ix5 = webview.getX5WebViewExtension();
       if (null != ix5) {
           ix5.setScrollBarFadingEnabled(false);
       }

未完待更新。

你可能感兴趣的:(Android)