android集成腾讯X5内核

android的各个版本中webview的实现是极度碎片化的,近期的android tv项目就躺枪一波,针对这样的需求,更换webview内核也就成了自然而然的选择。这里展示腾讯x5的内核使用。腾讯浏览服务

SDK集成

sdk集成有两种方式

1.gradle

Module.appbuild.gradle文件下的dependencies节点下添加

dependencies {
    // ...
    api 'com.tencent.tbs.tbssdk:sdk:43903'
}

然后同步即可

2.jar包引入

将下好的jar包放入app/libs文件夹下
此时可以右键 jar包然后选择 Add As Library
也可以在 gradle文件下的 android节点下添加

    sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }

初始化

新建一个activity并添加到manifests文件中

public class AppApplication extends Application {
    private static final String TAG = "APP_APPLICATION";
    @Override
    public void onCreate() {
        super.onCreate();
        initX5SDK();
    }

    private void initX5SDK() {
        QbSdk.PreInitCallback cb = new QbSdk.PreInitCallback() {
            @Override
            public void onCoreInitFinished() {

            }

            @Override
            public void onViewInitFinished(boolean b) {
                Log.d(TAG, "onViewInitFinished: ");
                Toast.makeText(getBaseContext(), "x5初始化成功? " + b, Toast.LENGTH_LONG).show();
            }
        };

        QbSdk.initX5Environment(getApplicationContext(), cb);

    }
}

按照腾讯文档加入权限 和 service

使用

新建一个继承x5webview的类,然后将配置写入,在布局文件中使用我们写好配置的新组件即可


<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <com.example.x5sample.components.X5WebView
        android:id="@+id/webview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

androidx.constraintlayout.widget.ConstraintLayout>

布局文件中不要直接引用 x5的webview

源码

源码链接,请自行修改调试网页

你可能感兴趣的:(android集成腾讯X5内核)