引用:https://51huanqi.cn/%E8%85%BE%E8%AE%AFtbs-x5%E5%86%85%E6%A0%B8%E9%9D%99%E6%80%81%E9%9B%86%E6%88%90jar%E5%AE%8C%E7%BE%8E%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/
前言:本篇文章用于解决TBSx5静态无法成功启动的问题
关于TBS:
腾讯浏览服务是致力于优化移动端webview体验的整套解决方案。该方案由SDK、手机QQ浏览器X5内核和X5云端服务组成,解决移动端webview使用过程中出现的一切问题,优化用户的浏览体验。同时,腾讯还将持续提供后续的更新和优化,为开发者提供最新最优秀的功能和服务。

技术优势:
其中,X5内核相对于系统webview,具有下述明显优势:

速度快:相比系统webview的网页打开速度有30+%的提升;
省流量:使用云端优化技术使流量节省20+%;
更安全:安全问题可以在24小时内修复;
更稳定:经过亿级用户的使用考验,CRASH率低于0.15%;
兼容好:无系统内核的碎片化问题,更少的兼容性问题;
体验优:支持夜间模式、适屏排版、字体设置等浏览增强功能;
功能全:在Html5、ES6上有更完整支持;
更强大:集成强大的视频播放器,支持视频格式远多于系统webview;
视频和文件格式的支持x5内核多于系统内核
防劫持是x5内核的一大亮点
其中,X5云端服务包括云加速、云安全、云转换三大功能。云加速是通过首屏加速、智能路由、图片压缩等技术保障网页浏览的快、省、悦;云安全是通过代理加密、URL安全检测、JS黑名单管理、负载监控等防范网页被劫持插入广告、保障网页浏览的安全稳定;云转换是使用URL聚合+XPATH的解决方案,解决移动阅读难题

支持CPU架构:
CPU架构:armeabi、armeabi-v7a、arm64-v8a

注:使用了x5内核后用虚拟机是测试不了的,因为虚拟机是x86架构,所以在app开发的时候建议用手机调试,手机CPU如骁龙处理器,联发科,麒麟系列等等符合以上三个架构都行

静态集成的选择
为什么选择使用静态集成,因为动态集成会导致用户使用效果非常不佳,记住,是非常不佳,在使用最新的SDK时X5内核并不能成功实现动态集成的加载,会出现报错的情况,就算是官方的demo都运行报错,下面是测试中使用的SDK

x5内核动态集成运行报错其中部分原因可能是腾讯官方没有及时更新文档,导致很多新的开发者来使用X5内核时出现各种报错问题。

现在X5内核SDK存在动态集成问题,那么动态集成问题也有一种解决方式,那就是先在软件第一次运行时让应用进入http://debugtbs.qq.com地址进行线上安装,下载后重启应用即可安装成功,上图上图:


但是这样的缺点也是直接显现的,我们总不能让客户去手动点击线上安装,这样是肯定影响用户体验的,所以我们放弃这种动态集成方式,我们选择静态。

静态集成jar导入

那么如何静态,要达成静态集成,我们就需要静态集成需要的jar与so文件,然后让jar包与so文件打入app中,让app运行时就自带x5内核,就不需要用户再从网络上下载了

那么如何让X5内核实现静态集成,这里我们需要能驱动静态集成的SDK,这里我们提供一个下载地址,最后一个能静态集成的SDK:

http://soft.tbs.imtt.qq.com/17421/tbs_res_imtt_tbs_release_integrateWithX5core_43500SDK_43656Core.zip

下载后我们只需要里面的tbs_sdk_thirdapp_v3.5.0.1063_43500_staticwithdownload_withoutGame_obfs_20171011_195714.jar包,然后将jar包替换官方的jar包就行,另一个apk不管就行,apk里面有so文件,但是那个so文件太老了,所以我们不需要,这个SDK是2017年10月11日发布的最后一个支持静态集成的jar包,所以我们选择它

温馨提示:导入jar包后记得add加载

so文件我们也需要,因为so文件相当于是x5内核的包,没有so文件就没法使用x5内核,那么如何得到这个so文件呢,下面我们开始教程:

so文件获取教程:

先写一个Webview,调试手机走一遍http://debugtbs.qq.com,并点击安装线上内核,然后我们在控制台获取tbs文件地址,,上图:

这里我们可以获取到tbs文件地址为https://tbs.imtt.qq.com/release/tbs_core_045415_20201015162751_nolog_fs_obfs_release.tbs,然后我们下载并将tbs改为zip格式解压它

我们需要两个文件夹中的东西,第一个是assets\webkit,第二个是lib\arm64-v8a,这两个文件夹分别包含了jar与so包

然后我们创建个新的文件夹,并将这两个文件夹的文件都导入新的文件夹中
**PS:**这里建议使用该文章下方的示例里的.so文件,如果按照上面的步骤西在的jar与so包会有些新增和改动,导致x5内核无法静态集成。但使用该博主提供的demo中的jar与so包则可以成功集成,亲测有效。

这里我们需要将所有文件都改名为libtbs类型的so文件,所以前缀后缀都需要改变,我们可以使用下面这行代码。

for /F %i in (‘dir /A:-D /B’) do move %i “libtbs.%i.so”
使用cmd命令执行它就行了。如图:

这样就改名完成了,然后我们将so文件导入软件中,新建个jniLibs/armeabi,如图

导入后就算是静态集成需要的文件都准备好了,然后写入ndk配置,这一步会在软件编译成apk时只打包除了armeabi与x86架构以外的so文件

defaultConfig {
ndk {
abiFilters “armeabi”,“x86”
}
}

这段写在build.gradle中

然后使用QbSdk.preinstallStaticTbs(getApplicationContext());启用X5内核,我们可以将这段方法写在继承application的java文件中,AndroidManifest.xml文件中记得启用重写application方法name,上图:

这样X5内核就可以完美运行了,其它的直接跟着官方文档走就行了

如果无法集成成功,可以尝试的方案有
1.将targetSdkVersion 设置为27
2.在标签中添加android:networkSecurityConfig="@xml/network_security_config"
或两者一起使用

<applicationandroid:name=".app.MyApplication"  android:networkSecurityConfig="@xml/network_security_config">

network_security_config放入xml文件夹下

<?xml version="1.0" encoding="utf-8"?>
<network-security-config><base-config cleartextTrafficPermitted = "true"/>
</network-security-config>

我这里提供一个完美看看基于x5内核开发的一个demo

焕奇资源站:点我进入

TBS X5内核SDK静态集成jar完美解决方案相关推荐

  1. 腾讯X5浏览器内核静态集成方案

    方案1:将内核复制到sd卡中进行安装 注意:可以动态集成,将内核包放到云端,需要是进行下载. 代码如下, 注意:执行 QbSdk.installLocalTbsCore 进行安装时,需要一点时间,安装 ...

  2. Android 使用腾讯的TBS浏览器X5内核的集成加载pdf等文件

    我们正常项目使用原生webview加载h5页面也是没问题的,但是当使用原生webview加载h5出问题了,h5地址在微信等可以正常使用,前端就会丢锅给我们,为了杜绝不是我们Android的问题,那我们 ...

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

    TBS(腾讯浏览服务)的优势: 速度快:相比系统webview的网页打开速度有30+%的提升: 省流量:使用云端优化技术使流量节省20+%: 更安全:安全问题可以在24小时内修复: 更稳定:经过亿级用 ...

  4. TBS腾讯浏览器服务x5内核打开本地doc(doc docx xlsx pdf ppt)文档(官网最新43903版本SDK)

    目前最新版本(官网最新43903版本SDK)仅支持本地文件查看 测试Demo:TBS腾讯浏览器服务x5内核打开本地doc(docdocxxlsxpdfppt)文档(官网最新43903版本SDK)-互联 ...

  5. 腾讯浏览服务X5内核集成

    腾讯浏览服务X5内核集成 导读 1.什么是X5内核? 2.需求场景 3.开始搬砖 4.优化 5.集成后的问题 6.补充 一.什么是X5内核? 用官方文档的话说,就是解决系统webview兼容性差.加载 ...

  6. android 集成x5内核时 本地没有,腾讯浏览服务-接入文档

    三.SDK集成步骤 1. 第一步 下载 SDK jar 包放到工程的libs目录下,将源码和XML里的系统包和类替换为SDK里的包和类,具体对应如下: 系统内核 SDK内核 android.webki ...

  7. 三方库 之 分分钟集成腾讯 TBS X5 。。。

    LZ-Says:想和你喝酒是假,想醉你怀里是真. 前言 最近一段时间,都是在被前端虐了,还好,谈不上游刃有余,至少可以实现所需功能,调试起来也不会太过于懵逼. 当然,和大佬相比,还是差距很多.前段时间 ...

  8. Android集成三方浏览器之X5内核,讲的明明白白

    腾讯 X5 内核也是基于 chromium 的,相比原生的 WebView 而言,优化了用户的浏览体验.SDK 是通过共享使用用户手机上微信.手机QQ.QQ空间等软件已经下载好的 X5 内核.SDK ...

  9. 安卓使用腾讯tbs查看pdf/word文件(解决x5内核下载问题)

    引言: 项目需要预览pdf.word等文件,但是用户不一定安装了wps这样的软件,因此需要在项目里支持查看这些文件.笔者本身是不想使用webview的,因此尝试了很多原生的,但是对于doc文件基本没有 ...

  10. Android WebView相册选取图片及集成(X5内核,crosswalk)

    webview加载商城连接地址,系统webview的加载商城里的一个分类页面卡顿,其余页面正常. 自己写webview显然不现实,继承系统的写出来效果还是如此,然后就集成了腾讯X5的内核. TBS(腾 ...

最新文章

  1. Commvault公司营收增长 但本季度仍身陷亏损
  2. setHasOptionsMenu
  3. Struts2学习第七课 ActionSupport
  4. 有一个能够统一的方式来画uml图的软件
  5. 2-RabbitMQ核心概念及AMQP协议
  6. python变量无需创建赋值_Python 第 2 章 变量及赋值运算符
  7. bzoj 2296: 【POJ Challenge】随机种子
  8. python写进程_将数据作为后台进程在Python中写入磁盘
  9. 某学校新买了一批计算机,2020年度初中信息技术考试选择题.doc
  10. 实验3-9 三天打鱼两天晒网 (15 分)
  11. 【欧洲AI复兴】马克龙:法国AI要赶美超中!
  12. window目录路径太深,如何删除文件夹?
  13. 【Linux】Linux基本操作指令
  14. 重新定义QLabel的clicked事件
  15. /*CS5460_Note_1*/
  16. python绘制人物关系图,Python来袭,教你用Neo4j构建“复联4”人物关系图谱!
  17. inkscape推荐插件安装
  18. win10安装kafka kafka_2.13-2.8.1
  19. 移动机器人(四)四轴飞行器
  20. 泛型的基础 装箱拆箱

热门文章

  1. 《战舰世界》携手汉堡王开启“战舰堡胃战”主题活动
  2. 详解MATLAB/Simulink通信系统建模与仿真源码
  3. 超详细软件著作权申请——资料篇
  4. The program ‘roscore‘ is currently not installed 解决办法
  5. 小众却非常好用的文件同步备份工具-FileYee
  6. Spring揭秘——读书笔记
  7. 数据字典怎么写_做数据分析,我只会同环比,谁能教我怎么写结论?
  8. 手把手教你使用人人开源
  9. 信息收集端口扫描工具masscan
  10. RoboMaster电机驱动