Webkit

在 Android 5 及更高版本上使用新式 WebView API。
最近更新时间 稳定版 候选版 Beta 版 Alpha 版
2024 年 3 月 20 日 1.9.0 - 1.11.0-beta01 -

声明依赖项

如需添加 Webkit 的依赖项,您必须将 Google Maven 制品库添加到项目中。如需了解详情,请参阅 Google 的 Maven 制品库

在应用或模块的 build.gradle 文件中添加所需工件的依赖项:

Groovy

dependencies {
    implementation "androidx.webkit:webkit:1.9.0"
}

Kotlin

dependencies {
    implementation("androidx.webkit:webkit:1.9.0")
}

如需详细了解依赖项,请参阅添加 build 依赖项

反馈

您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对此库有任何改进建议,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击星标按钮,为现有问题投票。

创建新问题

如需了解详情,请参阅问题跟踪器文档

版本 1.11

版本 1.11.0-beta01

2024 年 3 月 20 日

发布了 androidx.webkit:webkit:1.11.0-beta01,没有任何显著变更。版本 1.11.0-beta01 中包含这些提交内容

版本 1.11.0-alpha02

2024 年 2 月 21 日

发布了 androidx.webkit:webkit:1.11.0-alpha02版本 1.11.0-alpha02 中包含这些提交内容

新功能

  • 添加了 setAudioMutedisAudioMuted 方法,用于将 WebViews 静音(和取消静音)。通过此方法,您可以阻止 WebView 播放音频。(Ie7a33

API 变更

  • URLUtilCompat 被设为 final,因为它不能被子类化。(I49ec1

版本 1.11.0-alpha01

2024 年 2 月 7 日

发布了 androidx.webkit:webkit:1.11.0-alpha01版本 1.11.0-alpha01 中包含这些提交内容

新功能

  • 添加了对 URLUtil.guessFileName 的兼容性。URLUtilCompat 中的兼容性版本支持解析使用 filename* 编码值属性(如 RFC 6266 中所定义)的 Content-Disposition 标头。兼容性 API 还直接提供用于解析 Content-Disposition 标头的方法,其中不需要根据网址和 MIME 类型提供建议的文件名。(If6ae7b/309927164

版本 1.10

版本 1.10.0

2024 年 1 月 24 日

发布了 androidx.webkit:webkit:1.10.0版本 1.10.0 中包含这些提交内容

自 1.9.0 以来的重要变更

版本 1.10.0-rc01

2024 年 1 月 10 日

发布了 androidx.webkit:webkit:1.10.0-rc01。此版本与 1.10.0-beta01 版本相比没有任何变化。

版本 1.10.0-beta01

2023 年 12 月 13 日

发布了 androidx.webkit:webkit:1.10.0-beta01版本 1.10.0-beta01 中包含这些提交内容

  • 1.10.0-alpha01 相比,功能方面没有任何变化。

版本 1.10.0-alpha01

2023 年 11 月 29 日

发布了 androidx.webkit:webkit:1.10.0-alpha01版本 1.10.0-alpha01 中包含这些提交内容

新功能

  • WebSettingsCompat 添加了一个新 API,以便通过完全停用 API 或限制在 API 响应中共享应用身份来控制实验性 Android WebView Media Integrity API 行为。可以针对所有源站切换此状态,也可以按源站切换。

版本 1.9

版本 1.9.0

2023 年 11 月 29 日

发布了 androidx.webkit:webkit:1.9.0版本 1.9.0 中包含这些提交内容

自 1.8.0 以来的重要变更

  • 为 WebView 添加了新的多个人资料 API。
  • 添加了一个 API,用于在网页加载前注入和运行 JavaScript。
    • 借助 WebViewCompat#addDocumentStartJavascript API,应用可以将脚本注入 WebView,保证在执行任何页面脚本之前运行这些脚本。该 API 允许应用为要启用的脚本指定一个源目标列表,确保脚本仅在预期页面上运行。与 WebView#invokeJavascript 不同,此 API 允许在加载嵌入 iframe 时执行脚本。应用可以将这一新 API 与 WebViewCompat#addWebMessageListener 结合使用,从而以可靠的方式在页面中设置与 JavaScript 的双向通信。
  • 添加了用于修改 Privacy Sandbox 归因报告事件的注册方式的 API。
    • 我们推出了新的 API WebSettingsCompat#setAttributionRegistrationBehavior,以便开发者配置是将归因来源和触发器注册为来自应用本身还是来自 WebView 中的 Web 内容。此方法还可用于在 WebView 中停用归因报告。此外,我们还添加了新的 API WebSettingsCompat#getAttributionRegistrationBehavior 来获取当前行为。
    • 如需了解详情,请参阅 Privacy Sandbox 文档
  • 添加了用于替换客户端提示的用户代理元数据的 API。

版本 1.9.0-rc01

2023 年 11 月 15 日

发布了 androidx.webkit:webkit:1.9.0-rc01。此版本与 1.9.0-beta01 版本相比没有任何变化。

版本 1.9.0-beta01

2023 年 11 月 1 日

发布了 androidx.webkit:webkit:1.9.0-beta01版本 1.9.0-beta01 中包含这些提交内容

API 变更

  • 解决了用户代理元数据 API 的可为 null 性问题。我们更新 BrandVersion 类以使用构建器模式,使 UserAgentMetadata 类的 getter 和 setter 的可为 null 性保持一致。(Ibf195)
  • 使用 @UiThreadProfileStoreWebViewCompat#setProfileWebViewCompat.getProfile 添加注解。(I499b2

版本 1.9.0-alpha01

2023 年 10 月 18 日

发布了 androidx.webkit:webkit:1.9.0-alpha01版本 1.9.0-alpha01 中包含这些提交内容

新功能

  • 我们添加了多个人资料 API,可让您在 WebViews 之间进行单独的浏览会话,每份个人资料都有自己的数据(例如 Cookie)。您可以创建配置文件,将它们分配给 WebView 实例,并在以后检索任何数据访问。单例类 ProfileStore 可帮助您使用以下 API 创建或删除个人资料,从而管理个人资料:getOrCreateProfilegetProfilegetAllProfileNamesdeleteProfileProfile 类将具有不同的 API 可用于获取与此个人资料关联的数据,例如其名称、GeoLocationPermissionsServiceWorkerControllerCookieManagerWebStorage。默认情况下,每个 WebView 都将使用默认个人资料运行,但您可以使用 WebViewCompat#setProfile 更改此设置。您可以使用 WebViewCompat#getProfile 检索 WebView 的个人资料。(I32d22
  • 添加了 API 以修改归因报告事件的注册方式。我们引入了一个新的 API WebSettingsCompat#setAttributionRegistrationBehavior,可让开发者在 WebView 中配置是将来源和触发器注册为来自应用本身还是来自 Web 内容。此方法还可用于在 WebView 中停用归因报告。此外,我们还添加了新的 API WebSettingsCompat#getAttributionRegistrationBehavior 来获取当前行为。如需了解详情,请参阅 Privacy Sandbox 文档。 (I661f2
  • 添加了用于替换用户代理元数据的 API。我们引入了一个新的 API WebSettingsCompat#setUserAgentMetadata 来替换 WebView 的用户代理元数据(用于填充用户代理客户端提示),我们还添加了另一个新的 API WebSettingsCompat#getUserAgentMetadata 来获取当前的用户代理替换值。我们建议应用使用新的 API 来设置正确的替换值,而不是依赖于更改用户代理。(I74500
  • 添加了一个 API 以注入要在网页加载期间运行的 JavaScript。WebViewCompat.addDocumentStartJavascript API 允许应用将脚本注入 WebView,后者将在执行任何页面脚本之前运行。该 API 允许应用为要启用的脚本指定一个源目标列表,确保脚本仅在预期页面上运行。与 WebView.evaluateJavascript 不同,此 API 允许在加载嵌入 iframe 时执行脚本。(Ide063

版本 1.8

版本 1.8.0

2023 年 9 月 6 日

发布了 androidx.webkit:webkit:1.8.0版本 1.8.0 中包含这些提交内容

自 1.7.0 以来的重要变更

版本 1.8.0-rc01

2023 年 8 月 9 日

发布了 androidx.webkit:webkit:1.8.0-rc01,该版本与 1.8.0-beta01 相比没有变化。版本 1.8.0-rc01 中包含这些提交内容

版本 1.8.0-beta01

2023 年 7 月 26 日

发布了 androidx.webkit:webkit:1.8.0-beta01,该版本与 1.8.0-alpha01 相比没有变化。版本 1.8.0-beta01 中包含这些提交内容

版本 1.8.0-alpha01

2023 年 6 月 7 日

发布了 androidx.webkit:webkit:1.8.0-alpha01版本 1.8.0-alpha01 中包含这些提交内容

API 变更

  • 请参阅“外部贡献”部分。

外部贡献

  • 添加了对以下功能的支持:通过 WebMessagePortCompat#postMessageJsReplyProxy#postMessageWebViewCompat#postWebMessage 传递 ArrayBuffer,通过 WebMessagePortCompatWebMessageListener 从 JavaScript 接收 ArrayBuffer,以及通过 WebMessagePortCompat 从 JavaScript 接收可传输的 ArrayBuffer。请注意,此 API 仅从 WebView 116 版开始提供。(Ie7567b/251152171

版本 1.7

版本 1.7.0

2023 年 5 月 24 日

发布了 androidx.webkit:webkit:1.7.0版本 1.7.0 中包含这些提交内容

自 1.6.0 以来的重要变更

  • 我们在 WebView 中添加了对图片拖动的支持。您可以按照类文档中的说明,将新的 DropDataContentProvider 添加到应用的清单中,让用户能够将图片拖出 WebView
  • 我们添加了 ProcessGlobalConfig#setDirectoryBasePaths(Context,File,File) API,该 API 可用于设置 WebView 将用于当前进程的基础目录。与 ProcessGlobalConfig 上的所有方法一样,必须在实例化 WebView 的第一个实例之前调用此方法。添加此方法是为了让 Android 框架能够调整 WebView 设置。对于通用应用,不建议使用此方法。

版本 1.7.0-rc01

2023 年 5 月 10 日

发布了 androidx.webkit:webkit:1.7.0-rc01,该版本与 1.7.0-beta01 相比没有变化。版本 1.7.0-rc01 中包含这些提交内容。

版本 1.7.0-beta01

2023 年 4 月 5 日

发布了 androidx.webkit:webkit:1.7.0-beta01版本 1.7.0-beta01 中包含这些提交内容

API 变更

  • 对功能标志和方法名称进行了细微更改,并使 setDirectoryBasePaths() 接受 File 而不是 String (Ib0d0a)

版本 1.7.0-alpha03

2023 年 3 月 8 日

发布了 androidx.webkit:webkit:1.7.0-alpha03版本 1.7.0-alpha03 中包含这些提交内容

API 变更

  • 添加了 ProcessGlobalConfig#setDirectoryBasePath(String, String) API,该 API 可用于设置 WebView 将用于当前进程的基础目录。(Ibd1a1b/250553687

bug 修复

  • 修复了使用 DexGuard 时无效 ProGuard 规则会导致构建错误的问题(Ia65c2b/270034835

版本 1.7.0-alpha02

2023 年 2 月 8 日

发布了 androidx.webkit:webkit:1.7.0-alpha02版本 1.7.0-alpha02 中包含这些提交内容

bug 修复

  • DropDataContentProvider 的文档 bug。

版本 1.7.0-alpha01

2023 年 1 月 25 日

发布了 androidx.webkit:webkit:1.7.0-alpha01版本 1.7.0-alpha01 中包含这些提交内容

新功能

  • 我们在 WebView 中添加了对图片拖动的支持。您可以将新的 DropDataContentProvider 添加到应用的清单中,让用户能够将图片拖出 WebView。(05a1a6)

版本 1.6

版本 1.6.1

2023 年 3 月 22 日

发布了 androidx.webkit:webkit:1.6.1版本 1.6.1 中包含这些提交内容

bug 修复

  • 修复了 ProGuard 解析错误 (Ia65c2)

版本 1.6.0

2023 年 1 月 25 日

发布了 androidx.webkit:webkit:1.6.0版本 1.6.0 中包含这些提交内容

自 1.5.0 以来的重要变更

  • 添加了 ProcessGlobalConfig API,让应用能够提供需要在加载 WebView 之前设定的配置设置,例如 WebView 数据目录后缀。在应用启动期间应尽早设置并应用该配置,以确保在执行此操作后,任何其他线程才能调用一种方法来将 WebView 加载到进程中。
  • 添加了 CookieManagerCompat API,用新的 getCookieInfo 方法扩展 android.webkit.CookieManager,该方法会检索特定网址上设置的所有 Cookie 的所有属性。这与 CookieManager 中现有的 getCookie API 不同,后者仅返回 Cookie 的名称和值属性。
  • WebSettingsCompat 添加了新方法来启用/停用 EnterpriseAuthenticationAppLinkPolicy 的效果(如果管理员已在 WebView 中设置)及获取当前设置。此功能可让 WebView 打开身份验证应用,而非打开身份验证网址,不会影响不受企业政策管理的设备。
  • WebSettingsCompat 添加了一个新 API,可让应用将 X-Requested-With 标头中的应用软件包名称显式发送到已列入许可名单的来源。一直以来,系统都是在 WebView 发出的每个请求中发送该标头。

版本 1.6.0-rc01

2023 年 1 月 11 日

发布了 androidx.webkit:webkit:1.6.0-rc01版本 1.6.0-rc01 中包含以下提交内容

bug 修复

  • 修复了在低于 L 的 SDK 上运行时 WebViewFeature.isStartupFeatureSupported(Context, String) 中的 NullPointerException。(Ic7292)

版本 1.6.0-beta01

2022 年 12 月 7 日

发布了 androidx.webkit:webkit:1.6.0-beta01版本 1.6.0-beta01 中包含这些提交内容

API 变更

  • ProcessGlobalConfig 已更改为使用常规构造函数和静态 apply 方法。apply 方法应在每个进程中仅被调用一次,并且应尽早调用;如果被多次调用,则会抛出 IllegalStateExceptionProcessGlobalConfig 对象不再对调用 setter 的次数有任何限制。(I456c3)

版本 1.6.0-alpha03

2022 年 11 月 9 日

发布了 androidx.webkit:webkit:1.6.0-alpha03版本 1.6.0-alpha03 中包含这些提交内容

新功能

  • 添加了 ProcessGlobalConfig 类,让用户能够在加载 WebView 之前设置进程全局配置。WebView 有一些进程全局配置参数,WebView 加载完毕后,便无法更改这些参数(例如 WebView 数据目录)。该类允许应用设置这些参数。在应用启动期间应尽早设置并应用该配置,以确保在执行此操作后,任何其他线程才能调用一种方法来将 WebView 加载到进程中。(I7c0e0b/250553687
  • 添加了新的 API,可让应用将 X-Requested-With 标头中的应用软件包名称明确发送到已列入许可名单的来源。一直以来,系统都是在 WebView 发出的每个请求中发送该标头。(I0adfeb/226552535

API 变更

  • WebView 105 及更高版本在所有 Android 版本中均支持 WebSettingsCompat#setAlgorithmicDarkeningAllowed API。先前版本的 WebView 仅在 Android Q 及更高版本中支持该 API。因此,该 API 不再被标记为 @RequiresApi(Build.VERSION_CODES.Q)。(I3ac1d)

版本 1.6.0-alpha02

2022 年 10 月 24 日

发布了 androidx.webkit:webkit:1.6.0-alpha02版本 1.6.0-alpha02 中包含这些提交内容

新功能

  • 添加了新的 CookieManagerCompat 类以及 getCookieInfo API,该 API 可检索针对特定网址为所有 Cookie 设置的所有属性。这与 CookieManager 中现有的 getCookie API 不同,后者仅返回 Cookie 的名称和值属性。(I07365b/242161756

版本 1.6.0-alpha01

2022 年 8 月 24 日

发布了 androidx.webkit:webkit:1.6.0-alpha01版本 1.6.0-alpha01 中包含这些提交内容

新功能

  • WebSettingsCompat 中添加了 API,用于启用/停用 EnterpriseAuthenticationAppLinkPolicy 的效果(如果管理员已在 WebView 中设置)。此功能可让 WebView 打开身份验证应用,而非打开身份验证网址,不会影响不受企业政策管理的设备。

版本 1.5.0

版本 1.5.0

2022 年 8 月 24 日

发布了 androidx.webkit:webkit:1.5.0版本 1.5.0 中包含这些提交内容

自版本 1.4.0 以来的重要变更

  • WebSettingsCompat 上的新 setAlgorithmicDarkeningAllowed API 取代了旧的 setForceDark API 和 setForceDarkStrategy API。以 SDK 33 及更高版本 (T) 为目标平台的应用应使用新 API,因为旧 API 对这些应用不再有任何效果。
  • 现在可通过将 setReverseBypassEnabled 设置为 true,使用 ProxyCofig.Builder 来设置使用已配置代理的网址许可名单。此设置生效后,其他所有网址都会绕过已配置代理。

版本 1.5.0-rc01

2022 年 8 月 10 日

发布了 androidx.webkit:webkit:1.5.0-rc01,该版本与 1.5.0-beta01 相比没有变化。版本 1.5.0-rc01 中包含这些提交内容

版本 1.5.0-beta01

2022 年 6 月 29 日

发布了 androidx.webkit:webkit:1.5.0-beta01版本 1.5.0-beta01 中包含这些提交内容

API 变更

  • 对 Alogrithimic Darkening 相关 API 进行了注解,要求使用 API 级别 Q。该 API 对低于 Q 的 API 级别没有任何影响,因为此类设备不支持深色主题。(I0905e)

版本 1.5.0-alpha01

2022 年 5 月 18 日

发布了 androidx.webkit:webkit:1.5.0-alpha01版本 1.5.0-alpha01 中包含这些提交内容

新功能

  • WebViewCompat 中添加了一个新方法 getVariationsHeader(),以获取 WebView 发送的 X-Client-Data 标头值。返回的值将是采用 base64 编码的 ClientVariations protobuf。
  • WebSettingsCompat 中添加了 API,以允许/禁止针对 targetSdk >= 33 的应用进行算法加深。(I29597)

API 变更

  • ProxyCofig.Builder 中添加了一个新方法以设置反向绕过。如果将反向绕过设置为 true,则意味着只有绕过列表中的网址才会使用代理设置。(I9eaa2b/168728599

bug 修复

  • 修复了深色主题文档中的拼写错误。(I36ebfb/194343633
  • 修复了 WebViewAssetLoader.Builder 方法无意中按顺序执行的 bug。(If420db/182196765

版本 1.4.0

版本 1.4.0

2020 年 12 月 16 日

发布了 androidx.webkit:webkit:1.4.0版本 1.4.0 中包含这些提交内容。

自 1.3.0 以来的重要变更

  • 添加了一个新的 setSafeBrowsingAllowlist() API,以取代 setSafeBrowsingWhitelist()。此 API 有助于应用更新代码以避免非包容性的术语,同时仍然与已弃用的 API 支持相同范围的 Android SDK 和 WebView 版本。
  • 修复了 setProxyOverride 中导致回退规则无法正确应用的 bug。

版本 1.4.0-rc02

2020 年 12 月 2 日

发布了 androidx.webkit:webkit:1.4.0-rc02版本 1.4.0-rc02 中包含这些提交内容

bug 修复

  • 修复了使用 setProxyOverride 时回退规则无法正确应用的错误。

版本 1.4.0-rc01

2020 年 11 月 11 日

发布了 androidx.webkit:webkit:1.4.0-rc01,该版本与 1.4.0-beta01 相比没有变化。版本 1.4.0-rc01 中包含这些提交内容

版本 1.4.0-beta01

2020 年 10 月 14 日

发布了 androidx.webkit:webkit:1.4.0-beta01,该版本与 1.4.0-alpha01 相比没有变化。版本 1.4.0-beta01 中包含这些提交内容

版本 1.4.0-alpha01

2020 年 9 月 16 日

发布了 androidx.webkit:webkit:1.4.0-alpha01版本 1.4.0-alpha01 中包含这些提交内容

API 变更

  • 添加了一个新的 WebViewCompat#setSafeBrowsingAllowlist() API,以取代 setSafeBrowsingWhitelist()。此 API 有助于应用更新代码以避免非包容性的术语,同时仍然与已弃用的 API 支持相同范围的 Android SDK 和 WebView 版本。(I8d65d)

版本 1.3.0

版本 1.3.0

2020 年 8 月 19 日

发布了 androidx.webkit:webkit:1.3.0版本 1.3.0 中包含这些提交内容。

自 1.2.0 以来的重要变更

  • ForceDarkStrategy API 可用于更好地控制 WebView 加深(CSS/网页内容加深与自动加深)。
  • WebMessageListener 及其相关的 API 提供一种简单安全的机制,用于在网页内容和 WebView 嵌入应用之间建立通信。
  • isMultiProcessEnabled API,用于检查 WebView 是否以多进程模式运行。这是从 Android O 开始实现的,它意味着网页内容将在独立于应用进程的沙盒化渲染器进程中进行渲染。这种沙盒化渲染器可与同一应用中的其他 WebView 共享,但不能与其他应用进程共享。

版本 1.3.0-rc02

2020 年 8 月 5 日

发布了 androidx.webkit:webkit:1.3.0-rc02版本 1.3.0-rc02 中包含这些提交内容

bug 修复

  • 这修复了以下兼容性问题:如果您的应用在运行 Android Studio 免安装体验时启动,WebMessageListener 有时会在本地开发期间崩溃。

版本 1.3.0-rc01

2020 年 6 月 24 日

发布了 androidx.webkit:webkit:1.3.0-rc01,该版本与 1.3.0-beta01 相比没有变化。版本 1.3.0-rc01 中包含这些提交内容

版本 1.3.0-beta01

2020 年 6 月 10 日

发布了 androidx.webkit:webkit:1.3.0-beta01版本 1.3.0-beta01 中包含这些提交内容

新功能

  • ForceDarkStrategy API,用于控制 WebView 加深(CSS/网页内容加深与自动加深)。
  • WebMessageListener API 提供一种简单安全的机制,用于在网页内容和 WebView 嵌入应用之间建立通信。
  • MultiProcessEnabled API,用于检查 WebView 是否以多进程模式运行。

版本 1.3.0-alpha03

2020 年 5 月 27 日

发布了 androidx.webkit:webkit:1.3.0-alpha03版本 1.3.0-alpha03 中包含这些提交内容

API 变更

  • addWebMessageListener 方法现在接收允许的源规则的 Set<String>(以前称为 List<String>)。

版本 1.3.0-alpha02

2020 年 4 月 29 日

发布了 androidx.webkit:webkit:1.3.0-alpha02版本 1.3.0-alpha02 中包含这些提交内容

新功能

  • MultiProcessEnabled API 检查 WebView 是否以多进程模式运行。

API 变更

  • 所有深色策略常量现在都以 DARK_STRATEGY 为前缀。

版本 1.3.0-alpha01

2020 年 4 月 15 日

发布了 androidx.webkit:webkit:1.3.0-alpha01版本 1.3.0-alpha01 中包含这些提交内容

新功能

  • ForceDarkStrategy API,用于控制 WebView 加深(CSS/网页内容加深与自动加深)。
  • WebMessageListener API 提供一种简单安全的机制,用于在网页内容和 WebView 嵌入应用之间建立通信。

版本 1.2.0

版本 1.2.0

2020 年 3 月 4 日

发布了 androidx.webkit:webkit:1.2.0版本 1.2.0 中包含这些提交内容

自 1.1.0 以来的重要变更

  • 添加了 ForceDark API,用于控制是否应在深色模式下呈现 WebView。

版本 1.2.0-rc01

2020 年 2 月 19 日

发布了 androidx.webkit:webkit:1.2.0-rc01,该版本与 1.2.0-beta01 相比没有变化。版本 1.2.0-rc01 中包含这些提交内容

版本 1.2.0-beta01

2020 年 2 月 5 日

发布了 androidx.webkit:webkit:1.2.0-beta01,该版本与 1.2.0-alpha01 相比没有变化。版本 1.2.0-beta01 中包含这些提交内容

版本 1.2.0-alpha01

2019 年 12 月 18 日

发布了 androidx.webkit:webkit:1.2.0-alpha01版本 1.2.0-alpha01 中包含这些提交内容

新功能

  • ForceDark API,用于控制是否应在深色模式下呈现 WebView。

版本 1.1.0

版本 1.1.0

2019 年 11 月 7 日

发布了 androidx.webkit:webkit:1.1.0版本 1.1.0 中包含这些提交内容

自 1.0.0 以来的重要变更

  • Getter API,用于补充 setWebViewClient()setWebChromeClient()
  • ProxyController API,用于为应用的 WebView 设置网络请求代理。
  • WebViewAssetLoader API,用于简化通过请求拦截从应用数据目录中加载 APK assets、resources 和文件的过程。这样可以在不停用 CORS 的情况下访问网络和本地资源。
  • TracingController API,用于收集 WebView 跟踪信息以进行调试。
  • RenderProcess API,用于管理 WebView 渲染程序服务,并检测行为不当的内容何时会导致 WebView 渲染程序无响应。
  • 更新了现有 API,加入了可为 null 性(@NonNull@Nullable)和线程(@UiThread@WorkerThread)注解。

版本 1.1.0-rc01

2019 年 10 月 9 日

发布了 androidx.webkit:webkit:1.1.0-rc01版本 1.1.0-rc01 中包含这些提交内容

bug 修复

  • 修复了传递 null 客户端时 setWebViewRenderProcessClient() 可能会崩溃的问题。

版本 1.1.0-beta01

2019 年 9 月 5 日

发布了 androidx.webkit:webkit:1.1.0-beta01。点击此处可查看此版本中包含的提交内容。

新功能

  • WebViewAssetLoader 中新增了 InternalStoragePathHandler,用于从应用的数据目录加载文件。

API 变更

  • ProxyConfig#getProxyRules() 现在会返回 ProxyRule 实例的不可修改列表,这是一个新类,用于保存架构过滤器及其相应的代理网址。

bug 修复

  • WebViewAssetLoader 无法从文件路径获知 MIME 类型时,会默认为“text/plain”MIME 类型(而不是 null)。
  • 现在 WebViewAssetLoader 在加载路径名称中含有特殊字符的文件时,不会再抛出 NullPointerException

版本 1.1.0-alpha02

2019 年 8 月 7 日

发布了 androidx.webkit:webkit:1.1.0-alpha02。点击此处可查看此版本中包含的提交内容。

新功能

  • WebViewAssetLoader 提供了 PathHandler 接口,以允许应用创建自定义路径处理功能。

API 变更

  • WebViewAssetLoader 现在是最终类,因为它将不会创建子类。
  • WebViewAssetLoader#PathHandler 实现现已公开,并且是最终实现。
  • 对 ProxyConfig 方法名称进行了细微更改。
  • ProxyController:新增了 addDirect()addDirect(String) 方法以直接连接到服务器;移除了 DIRECT 字符串。
  • 更新了现有 API,加入了可为 null 性(@NonNull@Nullable)和线程(@UiThread@WorkerThread)注解。

版本 1.1.0-alpha01

2019 年 5 月 7 日

发布了 androidx.webkit:webkit:1.1.0-alpha01。点击此处可查看此版本中包含的提交内容。

新功能

  • Getter API,用于补充 setWebViewClient()setWebChromeClient()
  • ProxyController API,用于为应用的 WebView 设置网络请求代理。
  • AssetLoader API,用于简化通过请求拦截来加载 APK assets 和resources,从而允许在不停用 CORS 的情况下访问 Web 资源。
  • TracingController API,用于收集 WebView 跟踪信息以进行调试。
  • RenderProcess API,用于管理 WebView 渲染程序服务,并检测行为不当的内容何时会导致 WebView 渲染程序无响应。

bug 修复

  • 对现有 API 的文档格式进行了细微修复。