androidstudio集成x5详细教程100%成功(非官方文档)

之前在折腾怎么集成x5,百度各种大部分都是搬官网文档,要么没导包要么各种问题,官网的demo还运行不起来,今天来个详细教程
android studio:3.6.3
sdk platforms:26
gradle:3.6.3
androidstudio集成x5详细教程100%成功(非官方文档)_第1张图片
androidstudio集成x5详细教程100%成功(非官方文档)_第2张图片
androidstudio集成x5详细教程100%成功(非官方文档)_第3张图片
耐心等待构建完成,也就是出现运行图标,最新版本的x5已经支持implementation接入,找到如下文件添加,并同步,等待同步完成,即可

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

androidstudio集成x5详细教程100%成功(非官方文档)_第4张图片
接下来我们使用:
activity_main.xml文件代码(也就是一个线性布局加一个x5的组件)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">
    <com.tencent.smtt.sdk.WebView
        android:id="@+id/tencent_webview"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    </com.tencent.smtt.sdk.WebView>
</LinearLayout>

MainActivity.java代码

package com.example.test;

import androidx.appcompat.app.AppCompatActivity;
import com.tencent.smtt.sdk.QbSdk;
import com.tencent.smtt.sdk.WebView;
import com.tencent.smtt.sdk.WebViewClient;

import android.os.Bundle;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private WebView mWebView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initX5();
        mWebView = findViewById(R.id.tencent_webview);
        if (mWebView.getX5WebViewExtension() != null) {
            Toast.makeText(getApplicationContext(), "开启成功", Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(getApplicationContext(), "开启失败", Toast.LENGTH_SHORT).show();
        }
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.loadUrl("http://debugtbs.qq.com");
        mWebView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView webView, String s) {
                mWebView.loadUrl(s);
                return true;
            }
        });
    }
    private void initX5() {
        QbSdk.initX5Environment(getApplicationContext(), new QbSdk.PreInitCallback() {
            @Override
            public void onViewInitFinished(boolean arg0) {
                //x5內核初始化完成的回调,为true表示x5内核加载成功,否则表示x5内核加载失败,会自动切换到系统内核。
            }
            @Override
            public void onCoreInitFinished() {
            }
        });
    }
}


AndroidManifest.xml文件代码;

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.test1">

    <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" />

    <application
        android:usesCleartextTraffic="true"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

你可能感兴趣的:(androidstudio集成x5详细教程100%成功(非官方文档))