首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在模拟器中升级Android的Webview (Android 5)

如何在模拟器中升级Android的Webview (Android 5)
EN

Stack Overflow用户
提问于 2015-05-03 22:08:11
回答 2查看 3.6K关注 0票数 13

运行在模拟器中的Android5.0.0似乎没有进行Web更新。也就是说,Android在Play Store (链接)上安装得很好。然而,浏览器继续使用旧股票WebView (根据用户代理字符串)。

为什么仿真器中没有webview升级,以及如何实现?

升级出现在股票WebView旁边(两者都出现在应用程序列表中)。尝试通过Play Store安装并手动安装,但没有效果。

这是为了测试我的代码如何在特定版本的webview中处理特定的bug。

EN

回答 2

Stack Overflow用户

发布于 2021-03-10 07:38:39

5岁的问题,但我发现它昨天,并得到了解决后,一些修补。

首先,关于为什么从play商店安装webview不起作用的问题,这在这个问题中得到了回答。简而言之,模拟器使用的是com.android.webview,而google安装的是com.google.android.webview。据我所知,没有办法(据我所知)将模拟器配置为使用Google的webview。所以使用游戏商店是一条死胡同。

不过,我能做到的是卸载默认的webview并安装一个较新的版本。我不能仅仅升级它,因为我为新的webview获得的apk与已安装的apk有不同的签名。但是卸载也不是简单的,因为webview是一个系统应用程序,您将无法卸载它运行adb uninstall

我所做的是:

代码语言:javascript
运行
复制
# Boot the emulator in write mode and make /system writable
emulator @DeviceName -writable-system
adb remount

# Uninstall the webview app manually and reboot the device
adb shell
rm -rf /data/data/com.android.webview
rm -rf /system/app/webview
reboot

# Install the new version
adb install webview.apk

这种方法的一个缺点是,在以后的运行中,您需要以写模式引导设备(不需要再次运行adb remount )。但很管用!

如果您想知道,我从谷歌消息来源获得了新版本的apk (不需要手动编译)。

票数 3
EN

Stack Overflow用户

发布于 2022-08-29 14:59:11

这个答案只是在上扩展,因为我遇到了几个问题--获得apk版本并实际安装它。

首先,关于为什么从play商店安装webview不起作用的问题,这在这个问题中得到了回答。简而言之,模拟器使用的是com.android.webview,而google安装的是com.google.android.webview。据我所知,没有办法(据我所知)将模拟器配置为使用Google的webview。所以使用游戏商店是一条死胡同。

不过,我能做到的是卸载默认的webview并安装一个较新的版本。我不能仅仅升级它,因为我为新的webview获得的apk与已安装的apk有不同的签名。但是卸载也不是简单的,因为webview是一个系统应用程序,您将无法卸载它运行adb uninstall

我所做的是:

代码语言:javascript
运行
复制
# Boot the emulator in write mode and make /system writable
emulator @DeviceName -writable-system 
adb remount

# Uninstall the webview app manually and reboot the device
adb shell
rm -rf /data/data/com.android.webview
rm -rf /system/app/webview
reboot

# Install the new version
adb install webview.apk

如果在第一步中出现了“模拟器未找到”错误,您可能需要在路径中添加各种android变量,我使用了来自这个问题的灵感(我的路径与wsl不同,我在.bashrc文件中添加了soruce命令)。

这种方法的一个缺点是,在以后的运行中,您需要以写模式引导设备(不需要再次运行adb remount )。但很管用!

如果您想知道,我从谷歌消息来源获得了新版本的apk (不需要手动编译)。

要从google源代码下载apk,我必须在https://android.googlesource.com/platform/external/chromium-webview/+log上找到我需要的适当的apk,在提交消息中搜索我的版本。

之后,我需要找到我的模拟器版本,https://stackoverflow.com/a/33370234/7059810给了我答案。

最后,要真正下载apk,我需要使用来自google的文件夹上的tgz链接(如下面的屏幕截图所示):

)。事实上,我没有找到下载apk的其他方法。

希望它能帮到别人。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30019960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档