android第三方webview推荐

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qugengting/article/details/84991388

        遇到一个问题,h5布局自带4个底部tab,放在webview怎么点击都没用,甚至界面的其他元素也没有点击效果,换成腾讯的QbSdk框架也没用,网上搜索一番找到一个,替换进去竟然可以了,真是令人惊喜!这就是crosswalk。简单介绍下使用方法:

1、项目根build.gradle配置

buildscript {

    repositories {
        maven {
            url 'https://download.01.org/crosswalk/releases/crosswalk/android/maven2'
        }
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven { url "https://jitpack.io" }
        maven {
            url 'https://download.01.org/crosswalk/releases/crosswalk/android/maven2'
        }
    }
}

2、app模块导入:

implementation 'org.xwalk:xwalk_core_library:23.53.589.4'

3、布局文件:

    <org.xwalk.core.XWalkView
        android:id="@+id/webview"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

4、activity调用:

            XWalkView xWalkView = findViewById(R.id.webview);
            XWalkPreferences.setValue(XWalkPreferences.REMOTE_DEBUGGING, true);
            xWalkView.loadUrl(url);

        其他功能及填坑能力暂时没有去测试,总之能解决当前问题的webview就是好webview,不过在放入正式项目编译后运行时程序崩溃了,只有Error inflating class org.xwalk.core.XWalkView的错误信息,找了很久才发现是因为导入腾讯x5时设置了这个:

        ndk {abiFilters 'armeabi'}

Crosswalk没有默认armeabi的库文件,如果不设置ndk,那么会默认支持"x86"和"armeabi-v7a",但是不能设置"armeabi"。所以,要么设置ndk {abiFilters 'armeabi-v7a'}或者x86,要么不设置。

提示:不设置ndk的情况下,Crosswalk会让安装包多50M左右,如果设置下ndk {abiFilters 'armeabi-v7a'},会减少到36M,还是很蛋疼啊

PS:悲剧,在用小米8测试的时候点击某个h5链接程序崩溃了,报了以下错误:

2018-12-18 16:23:20.035 24350-24350/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2018-12-18 16:23:20.035 24350-24350/? A/DEBUG: Build fingerprint: 'Xiaomi/dipper/dipper:8.1.0/OPM1.171019.026/V10.0.8.0.OEACNFH:user/release-keys'
2018-12-18 16:23:20.035 24350-24350/? A/DEBUG: Revision: '0'
2018-12-18 16:23:20.035 24350-24350/? A/DEBUG: ABI: 'arm'
2018-12-18 16:23:20.035 24350-24350/? A/DEBUG: pid: 24070, tid: 24202, name: Chrome_InProcRe  >>> com.mydemo <<<
2018-12-18 16:23:20.035 24350-24350/? A/DEBUG: signal 4 (SIGILL), code 1 (ILL_ILLOPC), fault addr 0xc08906c6
2018-12-18 16:23:20.035 24350-24350/? A/DEBUG:     r0 00000000  r1 00004001  r2 00000000  r3 00000001
2018-12-18 16:23:20.035 24350-24350/? A/DEBUG:     r4 eb06a788  r5 be58b294  r6 c1cafa48  r7 00000000
2018-12-18 16:23:20.035 24350-24350/? A/DEBUG:     r8 c1ca78a9  r9 becdfa00  sl be58b2b0  fp be58b2bc
2018-12-18 16:23:20.035 24350-24350/? A/DEBUG:     ip eb06862c  sp be58b278  lr c088f929  pc c08906c6  cpsr 88070030
2018-12-18 16:23:20.036 24350-24350/? A/DEBUG: backtrace:
2018-12-18 16:23:20.036 24350-24350/? A/DEBUG:     #00 pc 00acf6c6  /data/app/com.mydemo-r04bb6_6VebtSgyP72aPMQ==/lib/arm/libxwalkcore.so

完全不懂什么原因导致的,恐怕不是上层代码能够解决的,这个h5链接用原生webview在小米8上面点击没反应,只好用腾讯的x5了,上面不是说x5和crosswalk会冲突吗,找到官网的提示解决了:

https://x5.tencent.com/tbs/technical.html#/detail/sdk/1/1743fb2c-ef4a-4ef0-ab05-f3aa5128ea50

嗯,这个问题在小米8上面解决了,

然而,在荣耀7和华为P9上面点击这个h5链接又没响应了,,,

我已经彻底疯了。。 。。 。。。。 。。。。 。。。  。。  

猜你喜欢

转载自blog.csdn.net/qugengting/article/details/84991388