腾讯x5内核(TBS)简单集成封装

本文介绍了为解决Android 8.1.0及9.0以上版本的WebView问题,如何集成腾讯X5内核(TBS),包括通过Gradle方式集成、权限配置、混淆设置、初始化SDK、自定义X5WebView以及加载网页和处理视频播放、返回键等细节。提供了详细步骤和相关资源链接。
摘要由CSDN通过智能技术生成
目的

本人使用X5主要解决两个问题:

  1. 解决 android 8.1.0 版本无法启动问题 (兼容性)
  2. 解决 android 9 以上 WebView 视频无法播放问题 (视频播放)
集成步骤

接入参考 腾讯TBS官网 ->快速接入
使用参考 Android SDK(完整版,含文件打开能力)

1 两种方式引入jar,推荐Gradle方式集成

implementation 'com.tencent.tbs.tbssdk:sdk:43903'

2 权限配置
在 AndroidManifest.xml增加如下权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

3 混淆配置

-dontwarn dalvik.**
-dontwarn com.tencent.smtt.**

-keep class com.tencent.smtt.** {
    *;
}
-keep class com.tencent.tbs.** {
    *;
}

4 在application中初始化SDK。

private void initX5() {
     // 在调用TBS初始化、创建WebView之前进行如下配置
     HashMap map = new HashMap();
     map.put(TbsCoreSettings.TBS_SETTINGS_USE_SPEEDY_CLASSLOADER, true);
     map.put(TbsCoreSettings.TBS_SETTINGS_USE_DEXLOADER_SERVICE, true);
     QbSdk.initTbsSettings(map);
     //搜集本地tbs内核信息并上报服务器,服务器返回结果决定使用哪个内核。
     QbSdk.PreInitCallback cb = new QbSdk.PreInitCallback() {
         @Override
         public void onViewInitFinished(boolean arg0) {
             //x5內核初始化完成的回调,为true表示x5内核加载成功,否则表示x5内核加载失败,会自动切换到系统内核。
             if (arg0) {
                 Log.e("ArticleSystem", "X5 内核加载成功");
             } else {
                 Log.e("ArticleSystem", "X5 内核加载失败");
             }
         }

         @Override
         public void onCoreInitFinished() {

         }
     };
     //x5内核初始化接口
     QbSdk.initX5Environment
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值