Android 10.0 webview版本升级的方法

目录

1.概述

2.webview版本升级的步骤

   2.1 翻墙下载新版本

   2.2 找到系统源码webview.apk的位置

2.4 frameworks/base/core/res/res/xml/config_webview_packages.xml下webview包名的修改

2.5 额外注意事项

2.6 编译烧录固件 验证webview版本


1.概述

  在产品开发中,由于app大多数采用的h5页面有webview加载的方式显示出来,结果在加载一些页面显示不支持一些属性,经过测试发现由于webview的版本
有些低是80版本的 用谷歌官方101版本升级测试后发现webview页面正常,所以就来谈一下升级步骤

2.webview版本升级的步骤

   2.1 翻墙下载新版本

    网址:https://www.apkmirror.com/apk/google-inc/android-system-webview/
    根据需要下载对应的版本,高版本的webview兼容低版本的,根据实际使用情况来下载对应的webview.apk

   2.2 找到系统源码webview.apk的位置

   方法是搜索find  -name "

### Android 6.0升级 WebView 版本方法指南 #### 背景说明 Android 6.0WebView 的支持进行了多项改进和调整。为了提升安全性、性能以及兼容性,开发者需要关注 WebView 的配置方式及其依赖环境的变化。 --- #### 使用最新系统 WebView 更新机制 自 Android 4.4 开始,Google 将 WebView 抽离为独立组件并通过 Google Play Services 提供更新服务[^1]。这意味着即使设备的操作系统未升级,也可以通过 Google Play Store 获取最新的 WebView 组件。因此,在 Android 6.0 上运行的应用程序会自动受益于这种更新机制,前提是用户的设备已启用 Google Play 并允许安装更新。 如果目标用户群可能不包含 Google Play 支持的设备,则需考虑其他替代方案来确保 WebView 功能正常运作。 --- #### 配置 build.gradle 文件以适配旧版功能需求 对于某些特定场景下仍需使用已被废弃的功能(如 Apache HTTP 客户端),可以在 `build.gradle` 文件中显式声明对其的支持: ```gradle android { useLibrary 'org.apache.http.legacy' } ``` 此设置仅适用于那些确实需要遗留库的情况,并不会直接影响到 WebView 自身的行为或版本管理。 --- #### 处理 WebView 加载逻辑中的常见问题 当遇到因重定向而导致页面无法正确加载的问题时,应重新定义 `shouldOverrideUrlLoading()` 方法的行为模式。以下是推荐的做法之一: ```java webView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { String url = request.getUrl().toString(); // 判断 URL 是否属于标准协议头 if (url.startsWith("http://") || url.startsWith("https://")) { view.loadUrl(url); return false; } // 如果不是 http/https 请求则交由默认行为处理 return true; } }); ``` 上述代码片段能够有效解决由于未能妥善拦截请求所引发的一系列异常状况[^2]。 --- #### 前端 JavaScript 接口调用优化 借助 Android 提供的 `addJavascriptInterface()` 函数可轻松实现 Java 层面与 HTML 页面间的双向通信能力。例如下面展示了一个简单的例子用于向客户端传递消息通知: ```javascript window.Android.showToast("Hello from JS!"); ``` 值得注意的是,在实际项目开发过程中应当格外小心防止潜在的安全隐患暴露出来,比如跨域攻击等问题[^3]。 --- #### 替代全局书签存储策略 鉴于官方已经停止维护针对历史记录及收藏夹的相关 API ,建议应用程序自行设计一套完整的数据管理模式用来取代原有的解决方案。具体而言就是不再依赖如下几个已经被标记过期甚至完全移除掉的方法: - `Browser.getAllBookmarks()` - `Browser.saveBookmark()` 同时也要注意关联权限项同样遭到废止的事实——即不能再申请以下两项许可权限了: - `READ_HISTORY_BOOKMARKS` - `WRITE_HISTORY_BOOKMARKS` 取而代之的办法是创建专属数据库表单或者利用 SharedPreferences 来持久化保存所需的信息条目[^4]。 --- ### 总结 综上所述,要在 Android 6.0 及其后续发行版里成功完成 WebView升级改造工作,主要涉及以下几个方面的工作要点:确认当前系统的 WebView 是处于最新状态;合理修改构建脚本来满足特殊业务诉求;修正不当使用的跳转控制流程;加强前后两端协同工作的稳定性保障措施;最后还要记得及时迁移至新的资料管理体系架构上去。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安卓兼职framework应用工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值