集成TBS预览文档及Android P加载X5内核失败的问题的解决办法

  • Post author:
  • Post category:其他


TBS(腾讯浏览服务)的优势:

速度快:相比系统webview的网页打开速度有30+%的提升;

省流量:使用云端优化技术使流量节省20+%;

更安全:安全问题可以在24小时内修复;

更稳定:经过亿级用户的使用考验,CRASH率低于0.15%;

兼容好:无系统内核的碎片化问题,更少的兼容性问题;

体验优:支持夜间模式、适屏排版、字体设置等浏览增强功能;

功能全:在Html5、ES6上有更完整支持;

更强大:集成强大的视频播放器,支持视频格式远多于系统webview;

视频和文件格式的支持x5内核多于系统内核

防劫持是x5内核的一大亮点

SDK集成步骤:(主要参考官方文档)

第一步

下载 SDK jar 包放到工程的libs目录下

第二步

将so文件拷贝到项目当中

x5暂时不提供64位so文件,为了保证64位手机能正常加载x5内核,请参照如下链接修改相关配置https://x5.tencent.com/tbs/technical.html#/detail/sdk/1/34cf1488-7dc2-41ca-a77f-0014112bcab7

第三步

AndroidManifest.xml里加入权限声明:

1

2

3

4

5

4 App 首次就可以加载 x5 内核:

App 在启动后(例如在 Application 的 onCreate 中)立刻调用 QbSdk 的预加载接口 initX5Environment ,可参考接入示例,第一个参数传入 context,第二个参数传入 callback,不需要 callback 的可以传入 null,initX5Environment 内部会创建一个线程向后台查询当前可用内核版本号,这个函数内是异步执行所以不会阻塞 App 主线程,这个函数内是轻量级执行所以对 App 启动性能没有影响,当 App 后续创建 webview 时就可以首次加载 x5 内核了

注意:

1.必须配置好so文件,不配置是无法使用的。

2.ndk { abiFilters “armeabi”, “armeabi-v7a”, “x86”, “mips” },这个也是必须要有的

3.关于Android 9:我用的时候Android9以前的机器,初始化是没有问题的,但是到了Android 9,初始化直接失败,通过反复的百度查询,最后发现在Manifest.xml文件里面添加一行代码

<application
    ...
    android:usesCleartextTraffic="true"
    ...>
    ...
</application>

1

2

3

4

5

6

具体原因呢是因为从Android 6.0开始引入了对Https的推荐支持,与以往不同,Android P的系统上面默认所有Http的请求都被阻止了。

<application android:usesCleartextTraffic=[“true” | “false”]>

原本这个属性的默认值从true改变为false

所以 将这个属性改为true就可以了

————————————————

版权声明:本文为CSDN博主「没有感情的bug制造机」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_42713526/article/details/95059045