腾讯X5Webview(Android)快速集成
1.首先添加jar包到项目Project目录下的libs目录下;
传送门:SDK jar 包下载地址,下载文件后进行解压, tbs_sdk_thirdapp_vXXXX 的文件即是
2.在AndroidManifest.xml里加入所需的权限声明:
<!--腾讯X5Webview所需权限-->
<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" />
3.由于腾讯x5暂时不提供64位so文件,为保证64位手机能正常加载x5内核,需做如下设置:
① 找到对应module的build.gradle文件,在文件的android{}中的defaultConfig{}里(如果没有defaultConfig{}则手动添加)添加:
ndk{
abiFilters "armeabi"
}
,如果配置后编译报错,那么需要在gradle.properties文件中加上
Android.useDeprecatedNdk=true;
②在对应module的build.gradle文件下android{}中添加
sourceSets {
main {
jniLibs.srcDirs = ['src/main/jniLibs']
}
}
,并在project目录下创建 jniLibs文件夹目录,jniLibs目录下放入so文件(so文件可在SDK包中demo里复制)
4.关闭界面时,销毁webview(避免内存泄露)
在Activity / Fragemnt 的 OnDestroy()方法中调用 X5Webview 的 .destroy() 方法
5.注意事项:
1)请不要在代码里使用下述写法:
import android.*;
import android.webkit.*;
import android.webkit.WebStorage.*;
import android.net.*;
import android.net.http.*;
2)除了源码里需要把相关的包名和类名进行替换,布局xml里的声明也需要替换,即:将webview替换为 com.tencent.smtt.sdk.WebView ,用法如下:
<com.tencent.smtt.sdk.WebView
android:id="@+id/forum_context"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="5dp"
android:paddingRight="5dp" />