安卓电视盒子WebView更新升级完整教程
zhqhbr
2025年12月01日 23:33

安卓电视盒子WebView更新升级完整教程

为什么要升级安卓系统自带的Webview? 装了一个可以看直播电视的软件“WebViewTVLive”,这个软件直接播放央视网站上的电视节目,相当于在电视盒子上打开央视网页,然后把播放窗口全屏,优点就是资源永不过期,不需要维护后台,缺点就是反应有点慢。这个软件是基于Webview这个模块来实现的,而且要求Webview版本要高于75。我的机顶盒自带的版本是66版,用不了。所以就想着自己升级Webview模块。

https://github.com/hxh19950701/WebViewTvLive/releases 

我在Deepseek的指导下,花了8个小时才搞定我的盒子,成功把Webview版本升级到了87版,把过程写下来分享给需要的人。我是小白,写得不好,请见谅。   我的机顶盒配置:

买的二手盒子,厂家和型号未知,下图是主板图,主板上印了字“MC022”,CPU散热片没拆,不知道具体型号,通过网上查和软件检测型号可能是CM211-1,2G+8G,主芯片可能是S905L3B。买来的时候是安卓4.4的系统,自己网上找的固件更新到安卓9.0的系统。但是安卓9系统带的Webview版本号是66。 

  前提: 开启USB调试,通过数据线或无线可以连接到电视盒子,有root权限。(我新刷的系统默认这两项都是开的。) 下载adb软件,把要装的apk文件和adb软件放在同一个目录。   Webview编译版本选择 网上存在两种编译版本,一种是Google LLC编译的版本,应用名称叫做 com.google.android.webview。另一种是第三方为AOSP编译的版本,应用名称叫做 com.android.webview。AOSP的版本高手可以自己下载原代码编译,我不是高手,这里就在网上找了一个第三方编译的版本。如下图,在apkmirror网站上直接搜“com.android.webview 87”就可以搜索到Bromite公司发布的87版的webview,点进去之后根据自己芯片架构选择对应版本,Amlogic 905x 的下载 armeabi-v7a版本的。 下载地址:www.apkmirror.com 不要用Google LLC的版本。

    Root超级权限模式 有两种方式以root权限执行命令 第一种,直接以这种格式执行命令 adb shell su -c "find /system -name '*webview*' -type f",我的机器上这种不行,不知道为什么,所以我用的第二种。 第二种,执行以下命令,就会进入root模式。 adb shell su 看到提示符以#号结尾,就是root模式了。输入命令exit可以退出root模式,我的机器上要连续输入两次exit才能退出。

升级步骤: 一.  找到当前系统中安装了哪些webview包,装在哪个目录下面,版本是多少版本。 二. 备份原有版本。 三. 删除旧的版本。 四. 安装新的版本。   一. 找到目前系统中安装了哪些webview包,装在哪个目录下面。 我的这台机器,查找后发现系统自带包是安装在 /product/app/webview目录中的。 主要用到以下命令: 1. 检查当前WebView状态

# 检查系统WebView服务状态

adb shell dumpsys webviewupdate | findstr "Current WebView package"

输出:可以看到当前系统版本是66.

  # 列出所有WebView相关包 adb shell pm list packages | findstr webview 输出:列出目前系统中安装的名字包含 webview 字段的软件。

# 详细列出WebView包及路径 adb shell pm list packages -f | findstr webview

(此处图片不知道为什么总也贴不上去,屏幕输出文字如下:)

 E:\Temp\adb>adb shell pm list packages -f I findstr webview

package:/system/app/webview/webview.apk=com.android.webview

package:/data/app/com.google.android.webview-1XPaKnI4n6-AD3TgAd8ODA==/base.apk=com.google.android.webview

package:/data/app/com.vasthread.webviewtv.v2-CUOTJvYvlha01B1sz-Bi1A==/base.apk=com.vasthread.webviewtv.v2

  2. 查找系统WebView安装位置 如果以上找不到webview安装在哪个目录,也可以用以下命令全盘搜索。 # 搜索系统分区中的WebView文件 adb shell su -c "find /system -name '*webview*' -type f"   # 搜索product分区 adb shell su -c "find /product -name '*webview*' -type f"   # 搜索vendor分区 adb shell su -c "find /vendor -name '*webview*' -type f"   # 检查常见系统应用目录 adb shell su -c "ls -la /system/app/ | grep -i webview" adb shell su -c "ls -la /system/priv-app/ | grep -i webview" adb shell su -c "ls -la /product/app/ | grep -i webview"     3. 获取具体包信息 # 查看特定WebView包的详细信息,不一定用到。 adb shell dumpsys package com.android.webview adb shell dumpsys package com.google.android.webview   # 获取包安装路径 adb shell pm path com.android.webview

找到系统自带的webview安装在哪个路径下面。 可能会在以下目录中,不同系统可能不一样。 /system/app/webview 系统目录,通常为只读,必须有root权限才能修改。 /product/app/webview 系统目录,通常为只读,必须有root权限才能修改。 /data/app/ 用户目录,通常为可读写。自己后装的软件都在这个目录下面。   二. 备份原系统WebView 无论什么方式,先把原有的webview备份一下,万一不成功可以恢复原来状态,否则新的版本工作不了,旧的版本又没了,很多软件工作都会异常,那样只能重新刷机了。 找到webview所在目录,拷贝一份出来。 adb shell su -c "mount -o remount,rw /product" 重新挂载分区product为读写 (我的另外一个盒子用这条命令就不行,必须换成 "mount -o remount,rw /" 重新挂载整个根目录为可读写,如果出错可自行问一下Deepseek。) adb shell su -c "cp -r /product/app/webview /product/app/webview.bak" 拷贝一份   三. 卸载/删除系统自带的Webview模块 (需要root) 原来的必须卸载或删除,同时安装两个版本的,系统本身并不会有问题,但是应用软件WebViewTvLive并不会用新版本的,而是优先选择系统自带旧版本的。需要root权限删除系统WebView。通过以下命令操作: adb shell su -c "mount -o remount,rw /product" 重新挂载product分区为读写 adb shell su -c "rm -rf /product/app/webview"   删除原来的webview adb shell su -c "mount -o remount,ro /product" 重新挂载product分区为只读 adb reboot 重启机顶盒 如果原来webview是安装在system分区的,那就把以下命令中的路径改为system就可以了。 删除以后再用下面命令检查状态,应该会显示找不到Webview模块之类的。 adb shell dumpsys webviewupdate | findstr "Current WebView package"  

 四. 找到系统现有的webview安装路径后,有以下几种方法来替换或升级,Deepseek建议用方案B,但在我的机器上测试后发现方案B工作不了,折腾了无数次后,发现方案A可以工作。不同盒子可能不一样,大家自行尝试哪种方法适合自己的盒子。

方案A:普通用户安装   # 以普通用户身份安装 adb install com.android.webview_87.0.4280.131.apk   # 设置为首选WebView adb shell settings put global webview_provider com.android.webview   方案B:系统级安装(需要root)   # 直接替换系统分区中的APK adb shell su -c "mount -o remount,rw /product" 重新挂载product分区为读写 (我的另外一个盒子用这条命令就不行,必须换成 "mount -o remount,rw /" 重新挂载整个根目录为可读写,如果出错可自行问一下Deepseek。) # 创建新的WebView目录,已经有了就不用重新创建了。新建的目录记得修改权限。 adb shell su -c "mkdir -p /product/app/WebView" 新建目录 adb push webview87.apk /product/app/WebView/WebView.apk 拷贝文件上去 adb shell su -c "chmod 644 /product/app/WebView/WebView.apk" 修改文件权限 adb shell su -c "chmod 755 /product/app/WebView" 修改目录权限 adb shell su -c "mount -o remount,ro /product" 重新挂载product分区为只读 adb reboot 可以尝试/product 和 /system 两个系统分区,看哪种能工作。个人理解,如果放系统分区中,恢复出厂设置时不会丢失,如果以普通用户身份安装的App,恢复出厂设置后需要重新安装一遍。   验证和测试 1. 验证安装结果 # 检查当前WebView版本 adb shell dumpsys webviewupdate | findstr "Current WebView package"   # 检查版本号 adb shell dumpsys package com.google.android.webview | findstr versionName   # 测试WebView功能 打开 WebViewTvLive,在选择Webview模式下,看还会不会提示Webview版本过低,能正常刷出画面来就说明没有问题了。   总结 之所以我花了那么长时间才搞定,主要踩了以下几个坑: 一是编译版本,一定要选择AOSP版本的,我在Google LLC版本上浪费了四个小时的时间。 二是安装在哪个目录下面,本来想的安装在/system/app下面,相当于系统应用,优先级应该更高才对。实际测试下来,反而是安装成系统应用工作不了,最后以普通用户身份安装反而正常工作了。 三是系统自带的webview安装在哪个目录中,一开始以为系统级应用都在 /system/app下面,在这个目录里没找到,以为可能是系统集成的无法卸载。后来才查到是可以通过命令直接找到webview安装目录的,才发现原来是装在 /product/app 下面。 四是版本选择,Deepseek建议安卓9就选87版左右的。一开始我试了很多Google LLC版本,AOSP的就试了87版,我觉得可能其他AOSP版本的也能工作,我没有做更多尝试。   DeepSeek 使用好Deepseek,帮助很大,想要做什么问一下,马上能得到很详细的答案。把屏幕的输出结果拷贝发给Deepseek,他会帮忙分析结果并给出下一步怎么做。

下载链接:

我把用到的adb软件及webview软件放在网盘上。

https://pan.baidu.com/s/1-KwTEvHKzE3M0amCumcH0w?pwd=bxf1