WebViewJSBridge reemplaza el motor x5

Con el fin de garantizar el mismo efecto frontal para diferentes teléfonos móviles en el desarrollo híbrido, el motor x5 de Tencent se usa uniformemente para el kernel Webview utilizado en el proyecto.Este artículo registra cómo modificar el proyecto JSBridge en github a weview basado en el x5. motor.

Preparar

El primer paso es clonar el proyecto webview original.

git clone https://github.com/wendux/WebViewJavascriptBridge.git

También puede ir directamente a la URL anterior para descargar.

El segundo paso es descargar el motor x5 de Tencent

Dirección: https://x5.tencent.com/tbs/sdk.html

Construye tu propio Módulo

Abra Android Studio, haga clic en archivo->nuevo->nuevo módulo->Biblioteca de Android en la esquina superior izquierda

inserte la descripción de la imagen aquí

Una vez completada la nueva creación, copie WVJBWebView en el proyecto original clonado de github a java en el proyecto de módulo recién creado como un archivo de clase java (nota: no lo copie en su proyecto principal, aquí el módulo es en realidad un proyecto independiente)

Cambie todos los elementos relacionados con webkit y webview en la clase java a com.tencent.smtt.sdk.xxx, hasta que no se informe ningún error, todos deben reemplazarse aquí para evitar el uso intercalado con el Android Webkit nativo.

Tenga en cuenta que la configuración de gradle debe modificarse aquí, y las referencias directas no se pueden referenciar, porque no ha agregado referencias al proyecto. Encuentre el build.gradle. Tenga en cuenta aquí que no es la configuración de gradle del proyecto principal, sino sobre este módulo. Puede ver el aviso en AS. Puedo ver 3 build.gradle aquí. El tercero debe estar seleccionado en la imagen, ese es el Módulo que estamos haciendo

inserte la descripción de la imagen aquí
La configuración es la siguiente:

plugins {
    
    
    id 'com.android.library'
}

android {
    
    
    compileSdkVersion 30

    defaultConfig {
    
    
        minSdkVersion 16
        targetSdkVersion 30
        versionCode 2
        versionName "1.0"

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        consumerProguardFiles "consumer-rules.pro"
    }

    buildTypes {
    
    
        release {
    
    
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
    
    
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    sourceSets {
    
    
        main {
    
    
            jniLibs.srcDirs = ['libs']
        }
    }
}

dependencies {
    
    
    implementation fileTree(dir: 'libs', include: ['*.aar', '*.jar'], exclude: [])
}


task makeJar(type: Copy) {
    
    
    //删除存在的jar包,这里打包jar包名字是MyUtils.jar
    delete 'build/libs/MyUtils.jar'
    //设置拷贝的文件 from路径下的文件into到build/libs/路径下,方便找到
    from('build/intermediates/packaged-classes/debug/')
    //打进jar包后的文件目录
    into('build/libs/')
    //将classes.jar放入build/libs/目录下
    //include ,exclude参数来设置过滤
    //(我们只关心classes.jar这个文件)
    include('classes.jar')
    //重命名
    rename('classes.jar', 'MyUtils.jar')
}
makeJar.dependsOn(build)

De esta manera, aparecerá un directorio jniibs en el proyecto del Módulo, y puede usar la vista web x5 copiando directamente el paquete jar x5 descargado en él.

Utilice la versión X5 de WebView

Si no hay errores en el Módulo X5 producido, entonces se puede producir el paquete arr, abra la barra de herramientas de gradle a la derecha, despliegue el Módulo actual, busque Tareas, otro, ejecutarTareas

inserte la descripción de la imagen aquí
El paquete arr está debajo del Módulo /build/outputs/arr/, generalmente seleccione la versión de lanzamiento.

Simplemente importe el arr de este Módulo al proyecto principal, y los nuevos proyectos en el futuro también pueden hacer referencia directamente a este arr sin volver a hacerlo. Dado que arr empaqueta recursivamente los paquetes a los que hace referencia el propio proyecto, ya no es necesario volver a introducir el paquete Tencent en el proyecto principal. Todo está en arr.

Modificar diseño

Cambie la Webview original a su propia X5Webview
inserte la descripción de la imagen aquí

Modificar Actividad

Además del archivo xml en Diseño, se debe cambiar la vista web y no olvide que en java (kotlin), la vista web correspondiente debe cambiarse a x5.

Para ver más modificaciones de la versión completa, consulte nuestro ejemplo:

https://github.com/CAS-IICT/iict-híbrido-android

Supongo que te gusta

Origin blog.csdn.net/u014466109/article/details/109753351
Recomendado
Clasificación