大家都不知道原生的WebView 存在各种坑。各种适配问题。
最近在使用,总会出现DNS被拦截的情况。预览了各个大神的论坛与博客。
发现可以更改WebView内核。找到了比较火的两个。
分别是:腾讯X5内核 和 crosswalk
crosswalk : 据说很强大,但缺点就是会让你的APK包增大很多。(我还没试过,都是看大神们的博客说的)
大家可以参考这篇文章 如何轻松搞定Crosswalk之嵌入模式
相对crosswalk呢,腾讯X5 比较适合我目前的项目。至少包不会一下子给我 增大那么多
TBS腾讯浏览服务(点击跳转官网)
腾讯X5的好处我就不再说了,官网解释的肯定比我到位,我怎么做的吧。
第一步:那肯定是下载官方的SDK 包啦(腾讯浏览服务-SDK下载) 我这里下载的是上面这个
第二步:根据SDK 提供的jar包和so 包拷贝到自己的项目下。
(注意:我这里和官方提供的so,放的位置可能有点区别,这个就需要看的项目情况了)
注意:x5暂时不提供64位so文件,为了保证64位手机能正常加载x5内核,请参照如下链接修改相关配置
官方的Demo ,so包是放在 src\main\jniLibs 下这个可以看一下官方包。就知道了
在Demo 中的build.gradle,中有说到 so 包的目录位置
第三步:接下来就开始被配置,初始化X5了,在APP的 Application 中 onCreate() 去初始化
private void initX5() {
QbSdk.setDownloadWithoutWifi(true);
//x5内核初始化接口//搜集本地tbs内核信息并上报服务器,服务器返回结果决定使用哪个内核。
QbSdk.initX5Environment(getApplicationContext(), new QbSdk.PreInitCallback() {
@Override
public void onViewInitFinished(boolean arg0) {
//x5內核初始化完成的回调,为true表示x5内核加载成功,否则表示x5内核加载失败,会自动切换到系统内核。
Log.d("app", " onViewInitFinished is " + arg0);
}
@Override
public void onCoreInitFinished() {
}
});
}
在清单文件中去添加
<!-- 腾讯X5