cordova-plugin-x5-tbs-gaubee

Use Tencent Browser Service(TBS) instead of System WebView for Cordova App

Usage no npm install needed!

<script type="module">
  import cordovaPluginX5TbsGaubee from 'https://cdn.skypack.dev/cordova-plugin-x5-tbs-gaubee';
</script>

README

cordova-plugin-x5-tbs

CordovaWebView替换为腾讯的X5。使用腾讯TBS完整版SDK。

优劣比较

优势

  • 安装包体积小:由于QQ、微信、QQ空间等在中国的巨大装机量,与Crosswalk比较,X5内核仅增加不到300KB左右的apk大小。
  • 兼容性强:统一不同设备到同一内核,不需要担心国产ROM奇特“定制”及老版本WebView造成的兼容性问题。
  • 视频播放能力强:自带多种解码器,也可支持直播。
  • 新浏览器特性支持:如HTTP/2、Service Worker等。

劣势

支持环境

  • cordova-android > 6.4
  • Android > 4.0

安装

cordova plugin add cordova-plugin-x5-tbs

为确保App启动后即启动X5内核,需要在项目的MainActivityonCreate方法内,增加以下代码:

QbSdk.initX5Environment(this, null);

另出于某些玄学原因,如应用出现Crash,请手动将以下权限复制入AndroidManifest.xml

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- 硬件加速对X5视频播放非常重要,建议开启 -->
<uses-permission android:name="android.permission.GET_TASKS" />

环境

当前版本

X5:tbs_sdk_thirdapp_v4.3.0.1148_43697_sharewithdownloadwithfile_withoutGame_obfs_20190805_175505.jar

内核替换

你当然可以手动升级到X5内核最新版,或者替换成精简版内核。你只需要删除platforms/android/libs/tbs_sdk_*.jar,替换为你需要使用的版本即可。这会使此插件无法通过cordova plugin remove等指令被完全删除,还请注意。

感谢

此项目继承自项目:https://github.com/offbye/cordova-plugin-x5engine-webview

技术支持

与本项目有关的问题,如加载后无法正常启动,在本项目Issue区内提交新Issue即可。

X5相关问题,请参阅:X5技术指南

常见玄学问题

为什么X5内核没有被成功加载

先测试是否是64位程序的问题。修改platforms/android/build.gradle,在productFlavors之下,armv7之上,加入ndk{abiFilters "armeabi"},再看看是否有问题。该条问题见:https://x5.tencent.com/tbs/technical.html#/detail/sdk/1/34cf1488-7dc2-41ca-a77f-0014112bcab7

请使用官方TBS Studio测试,如其安装的TBS Demo左上角仍显示Sys core,证明X5内核可能无法被第三方App调用。请参阅X5技术指南或反馈到X5官方。