使用AOSP
项目编译的Android
系统,会发现在部分APP
使用系统自带的浏览器内核来加载网页时会出现报错,加载不出网页的情况,其实这是由于WebView
自带的浏览器内核版本太旧
所导致的,只要更新成比较新的浏览器内核版本就行了。
一、环境准备
(1) Android系统源码编译环境(Android9.0)
二、下载新版的WebView浏览器
(1). 注意网络访问
,这里下载非beta版本,beta版本有可能会不稳定,这里我下载的是101.0.4951.61
版本的WebView
,下载地址
(2). 下载的过程比较麻烦,还要进行Google账号的登录
,和浏览器插件的安装
,在文章后面会附上已经下载好了的较为新的WebView
(下载下来后其实是一个apk文件),我要编译的是arm64
架构的Android
系统,故下载对应版本的apk
文件
三、替换WebView浏览器内核
(1). 在路径\aosp\external\chromium-webview\prebuilt\
下替换arm
和arm64
架构的apk
文件,至于x86
和x86_64
要不要替换就要取决于你是否要编译x86
架构的Android
系统,这里我不需要编译x86
架构的Android
系统故不用理会
(2). 修改配置文件\aosp\frameworks\base\core\res\res\xml\config_webview_packages.xml
,由于高版本的WebView
的包名发生了变化,故需要修改,将com.android.webview
修改为com.google.android.webview
<webviewproviders>
<!-- The default WebView implementation -->
<!-- <webviewprovider description="Android WebView" packageName="com.android.webview" availableByDefault="true"> -->
<webviewprovider description="Android WebView" packageName="com.google.android.webview" availableByDefault="true">
</webviewprovider>
</webviewproviders>
四、重新编译
(1). 执行命令重新编译Android系统
source build/envsetup.sh
lunch 22
make -j32
(2). 刷入手机
./fastboot flashall
五、验证
打开手机的设置进入到开发者模式,查看WebView的实现
是否为101.0.4951.61
版本的WebView
六、相关文件下载
asjhan for Android reverse