目的
本人使用X5主要解决两个问题:
解决 android 8.1.0 版本无法启动问题 (兼容性)
解决 android 9 以上 WebView 视频无法播放问题 (视频播放)
集成步骤
接入参考 腾讯TBS官网 ->快速接入
使用参考 Android SDK(完整版,含文件打开能力)
1 两种方式引入jar,推荐Gradle方式集成
implementation 'com.tencent.tbs.tbssdk:sdk:43903'
2 权限配置
在 AndroidManifest.xml增加如下权限:
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(getApplicatio