赞
踩
关于X5内核的一些bug解决,可以查看这些文章:
链接: 解决bug.
腾讯TBS官网 : 官网.
Android Studio用户: 可在module的build.gradle文件的dependencies中添加 api 'com.tencent.tbs.tbssdk:sdk:43903’直接接入
Eclipse用户: 需要自行去官网下载sdk,并添加进去。
以下主要讲Android Studio端的配置。
接入了api后,还需自行导入os文件,否则无法使用需要从官网下载sdk文件。
找到”sdk接入示例-Android-Studio并打开
在main文件夹下,复制整个jniLibs文件夹到你的安卓项目中。切记请放在与java res文件夹同一级。
加载腾讯TBS需要一定的权限,否则会失败。
<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" />
找到你项目app的build.gradle,在android 的 defaultConfig一栏,添加
ndk {
abiFilters “armeabi”, “armeabi-v7a”, “x86”, “mips”
}
以下是我的示例:
apply plugin: 'com.android.application'
android {
compileSdkVersion 29
defaultConfig {
applicationId "########"
minSdkVersion 16
targetSdkVersion 29
versionCode 22
versionName "2.2"
ndk {
abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
}
}
下面方法复制可直接调用,记得要在加载webview之前调用,所以最好是放在打开项目的时候就调用该方法,提前加载x5替换webview配置
/**************腾讯X5webview**************/ private void initX5WebView() { //使用腾讯x5 webview,解决安卓原生wenview不适配不同机型问题 //搜集本地tbs内核信息并上报服务器,服务器返回结果决定使用哪个内核。 QbSdk.PreInitCallback cb = new QbSdk.PreInitCallback() { @Override public void onViewInitFinished(boolean arg0) { // TODO Auto-generated method stub //x5內核初始化完成的回调,为true表示x5内核加载成功,否则表示x5内核加载失败,会自动切换到系统内核。 if(arg0){//true Log.e("腾讯X5", " onViewInitFinished 加载 成功 "+arg0); }else{ Log.e("腾讯X5", " onViewInitFinished 加载 失败!!!使用原生安卓webview "+arg0); } } @Override public void onCoreInitFinished() { // TODO Auto-generated method stub } }; //x5内核初始化接口 QbSdk.initX5Environment(getApplicationContext(), cb); } /**************腾讯X5webview**************/
当你看到onViewInitFinished回调是true,那么就说明预加载腾讯成功
<com.tencent.smtt.sdk.WebView
android:id="@+id/TX_X5_webview"
android:layout_width="match_parent"
android:layout_height="match_parent">
</com.tencent.smtt.sdk.WebView>
// <WebView
// android:id="@+id/nromal_webview"
// android:layout_width="match_parent"
// android:layout_height="match_parent">
// </WebView>
com.tencent.smtt.sdk.WebView TX_X5_webview; //全局变量
TX_X5_webview = findViewById(R.id.TX_X5_webview);
TX_X5_webview.setBackgroundColor(0);
TX_X5_webview.getSettings().setJavaScriptEnabled(true);
TX_X5_webview.loadUrl("https://www.baidu.com/");
这样子就完成了腾讯X5的基本使用了。
我在使用腾讯X5Webview会遇到各种坑,像是本地测试没问题,打包出来的项目有问题等,非常令人头疼。请看另一篇文章。
链接: 加载腾讯X5失败各种bug解决.
https://blog.csdn.net/shaoyezhangliwei/article/details/81703098 使用process bar文章
----- qq群
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。