Webkit
最近更新时间 | 稳定版 | 候选版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
2024 年 12 月 11 日 | 1.9.0 | - | - | 1.13.0-alpha02 |
声明依赖项
如需添加 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.13
版本 1.13.0-alpha02
2024 年 12 月 11 日
发布了 androidx.webkit:webkit:1.13.0-alpha02
。版本 1.13.0-alpha02 包含这些提交内容。
新功能
- 向
WebView
添加了套接字标记 API,以便使用NetworkStatsManager
/TrafficStats
统计WebView
的网络流量。此功能仅适用于WebView
M133 及更高版本。(Ica441、b/374932688)
API 变更
- 更新了预提取 API,具体方法是将
PrefetchParameter
重命名为SpeculativeLoadingParamaters
、引入了新的PrefetchNetworkException
、将PrefetchOperationCallback
替换为OutcomeReceiverCompat
,并更新了 javadoc。(If5072) - 从 WebView 异步启动 API 获取诊断信息。
- 为应用提供一个选项,以便仅触发不会阻塞界面线程的 init。(I9bf2b)
bug 修复
- 此库现在使用 JSpecify nullness annotations,即类型使用。Kotlin 开发者应使用以下编译器参数来强制执行正确的用法:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode
(I0e4c5、b/326456246)
版本 1.13.0-alpha01
2024 年 11 月 13 日
发布了 androidx.webkit:webkit:1.13.0-alpha01
。版本 1.13.0-alpha01 包含这些提交内容。
新功能
- 添加了实验性
WebView
异步启动 API。(I94b8a) - 配置文件中的网址预提取:在配置文件中引入了新 API,以便开发者触发网址预提取。预加载清除:添加了一个 API 来清除正在进行的预加载。(I42c5c)
API 变更
- 废弃了
WebView.startSafeBrowsing
。(If5626)
1.12 版
版本 1.12.1
2024 年 10 月 2 日
发布了 androidx.webkit:webkit:1.12.1
。版本 1.12.1 包含这些提交内容。
bug 修复
- 解决了导致 1.12.0 API 无法在该版本中提供的问题。
1.12.0 版
2024 年 9 月 18 日
发布了 androidx.webkit:webkit:1.12.0
。版本 1.12.0 包含这些提交内容。
自 1.11.0 以来的重要变更
- 向
WebSettingsCompat
添加了一个新 API,用于为此WebSettings
启用/停用 BackForwardCache。此 API 目前处于实验阶段,将来可能会发生变化。(aosp/3111705) - 向
WebSettingsCompat
添加了一个新 API,用于控制此WebSettings
的推测性加载行为。目前,只有预渲染功能可用。此 API 目前处于实验阶段,将来可能会发生变化。(I13962) - 添加了一个新 API,用于在
WebView
中启用Web 身份验证。开发者可以使用WebSettingsCompat#setWebAuthenticationSupport
为其应用在WebView
中启用/停用WebAuthn
调用。(I8187f)
版本 1.12.0-rc01
2024 年 9 月 4 日
发布了 androidx.webkit:webkit:1.12.0-rc01
。此版本与 1.12.0-beta01
版本相比没有任何变化。
版本 1.12.0-beta01
2024 年 8 月 21 日
发布了 androidx.webkit:webkit:1.12.0-beta01
。版本 1.12.0-beta01 包含这些提交内容。
bug 修复
- 移除了手动说明对新平台 API 的访问权限,因为当将 R8 与 AGP 7.3 或更高版本(例如 R8 版本 3.3)搭配使用时,系统会通过 API 建模自动执行此操作;当使用 AGP 8.1 或更高版本(例如 D8 版本 8.1)时,系统会针对所有 build 自动执行此操作。建议不使用 AGP 的客户更新到 D8 8.1 或更高版本。如需了解详情,请参阅这篇文章。(Ia60e0、b/345472586)
版本 1.12.0-alpha02
2024 年 6 月 12 日
发布了 androidx.webkit:webkit:1.12.0-alpha02
。版本 1.12.0-alpha02 包含这些提交内容。
新功能
- 向
WebSettingsCompat
添加了一个新 API,用于启用/停用BackForwardCache
。此 API 目前处于实验阶段,将来可能会发生变化。(I64a38) - 向
WebSettingsCompat
添加了一个新 API,用于控制此 WebSettings 的推测性加载行为。目前,只有预渲染功能可用。此 API 目前处于实验阶段,将来可能会发生变化。(I13962)
API 变更
- 现在,在适当的情况下,某些方法会使用
@UiThread
进行记录。(I6c7e0)、(I44541) - 线程安全方法现在使用
@AnyThread
进行记录。(I70189) - 将
minSdkVersion
从 19 提高到 21。(Id7a43)
版本 1.12.0-alpha01
2024 年 4 月 17 日
发布了 androidx.webkit:webkit:1.12.0-alpha01
。版本 1.12.0-alpha01 包含这些提交内容。
API 变更
- 添加了一个新的 API,以便在
WebView. Developers
中启用Web 身份验证,使用WebSettingsCompat#setWebAuthenticationSupport
为应用在WebView
中启用/停用WebAuthn
调用。(I8187f)
版本 1.11
版本 1.11.0
2024 年 5 月 1 日
发布了 androidx.webkit:webkit:1.11.0
。版本 1.11.0 包含这些提交内容。
自 1.10.0 以来的重要变更
- 允许应用通过新的
setAudioMuted
和isAudioMuted
API 控制WebView
中的音频播放,这类似于在 Chrome 中将标签页静音。 - 引入了
URLUtilCompat
,该函数支持解析使用 RFC 6266 中定义的filename*
编码值属性的Content-Disposition
标头。兼容性 API 还直接公开了一种方法,用于解析Content-Disposition
标头,在这种情况下,系统不希望根据网址和 MIME 类型提供建议的文件名。
版本 1.11.0-rc01
2024 年 4 月 3 日
发布了 androidx.webkit:webkit:1.11.0-rc01
。此版本与 1.11.0-beta01
版本相比没有任何变化。
版本 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 中包含这些提交内容。
新功能
- 添加了用于静音(和取消静音)
WebViews
的setAudioMuted
和isAudioMuted
方法。借助此方法,您可以阻止WebView
播放音频。(Ie7a33)
API 变更
URLUtilCompat
已设为最终类,因为它不应被继承。(I49ec1)
版本 1.11.0-alpha01
2024 年 2 月 7 日
发布了 androidx.webkit:webkit:1.11.0-alpha01
。版本 1.11.0-alpha01 中包含这些提交内容。
新功能
- 添加了对
URLUtil.guessFileName
的兼容性。URLUtilCompat
中的兼容性版本支持解析使用 RFC 6266 中定义的filename*
编码值属性的Content-Disposition
标头。兼容性 API 还直接公开了一种方法,用于解析Content-Disposition
标头,在这种情况下,系统不希望根据网址和 MIME 类型提供建议的文件名。(If6ae7、b/309927164)
版本 1.10
版本 1.10.0
2024 年 1 月 24 日
发布了 androidx.webkit:webkit:1.10.0
。版本 1.10.0 中包含这些提交内容。
自 1.9.0 以来的重要变更
- 向 WebSettingsCompat 添加了新 API,以便通过完全停用该 API 或限制在 API 响应中共享应用身份来控制实验性 Android WebView Media Integrity API 行为。您可以为所有来源或按来源切换此设置。
版本 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。
- Profile 接口提供了不同的 API,可用于获取与此个人资料关联的数据,例如其名称、GeoLocationPermissions、ServiceWorkerController、CookieManager 和 WebStorage。这些对象是特定于配置文件的,应用中的不同配置文件之间不会共享信息。
- 您可以使用 WebViewCompat#setProfile 方法更改
WebView
实例使用的配置文件,并使用 WebViewCompat#getProfile 方法检索该配置文件 - 借助新引入的 ProfileStore,您可以管理应用中的可用个人资料,包括默认个人资料。
- 现有的 WebView API(例如 CookieManager#getInstance)将继续在“默认”配置文件中运行。
- 添加了一个 API,用于在页面加载之前注入和运行 JavaScript。
- 借助 WebViewCompat#addDocumentStartJavascript API,应用可以将脚本注入
WebView
,这些脚本保证会在执行任何网页脚本之前运行。借助此 API,应用可以指定要为其启用脚本的目标来源列表,确保脚本仅在预期网页上运行。与 WebView#evaluateJavascript 不同,此 API 允许在嵌入的 Iframe 加载时执行脚本。应用可以将此新 API 与 WebViewCompat#addWebMessageListener 结合使用,以可靠的方式与网页中的 JavaScript 建立双向通信。
- 借助 WebViewCompat#addDocumentStartJavascript API,应用可以将脚本注入
- 添加了 API 来修改 Privacy Sandbox Attribution Reporting 事件的注册方式。
- 我们引入了新 API WebSettingsCompat#setAttributionRegistrationBehavior,让开发者可以配置归因来源和触发器是注册为来自应用本身还是来自 WebView 中的网站内容。此方法还可用于在 WebView 中停用 Attribution Reporting。此外,我们还添加了一个新的 API
WebSettingsCompat#getAttributionRegistrationBehavior
来获取当前行为。 - 如需了解详情,请参阅 Privacy Sandbox 文档。
- 我们引入了新 API WebSettingsCompat#setAttributionRegistrationBehavior,让开发者可以配置归因来源和触发器是注册为来自应用本身还是来自 WebView 中的网站内容。此方法还可用于在 WebView 中停用 Attribution Reporting。此外,我们还添加了一个新的 API
- 添加了 API 来替换客户端提示的用户代理元数据。
- 我们引入了一个新 API WebSettingsCompat#setUserAgentMetadata,用于替换用于填充用户代理客户端提示的 WebView 用户代理元数据,还添加了另一个新 API WebSettingsCompat#getUserAgentMetadata,用于获取当前的用户代理替换项。我们建议应用在使用 WebSettings.setUserAgentString 更改默认用户代理字符串时,使用新 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 变更
- 解决了 user-agent 元数据 API 的可为 null 性问题。我们更新了
BrandVersion
类以使用构建器模式,使UserAgentMetadata
类的 getter 和 setter 可为 null 的性质保持一致。(Ibf195) - 使用
@UiThread
为ProfileStore
、WebViewCompat#setProfile
和WebViewCompat.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(getOrCreateProfile
、getProfile
、getAllProfileNames
和deleteProfile
)创建或删除配置文件,以便管理配置文件。Profile
类将提供不同的 API,用于获取与此配置文件关联的数据,例如其名称、GeoLocationPermissions
、ServiceWorkerController
、CookieManager
和WebStorage
。默认情况下,每个WebView
都将使用默认配置文件运行,但您可以使用WebViewCompat#setProfile
进行更改。与此相关的是,您可以使用WebViewCompat#getProfile
检索WebView
的配置文件。(I32d22) - 添加了 API 以修改 Attribution Reporting 事件的注册方式。我们引入了新的 API
WebSettingsCompat#setAttributionRegistrationBehavior
,让开发者能够在WebView
中配置来源和触发器是注册为来自应用本身还是来自网站内容。此方法还可用于在WebView
中停用 Attribution Reporting。此外,我们还添加了一个新的 APIWebSettingsCompat#getAttributionRegistrationBehavior
来获取当前行为。如需了解详情,请参阅 Privacy Sandbox 文档。 (I661f2) - 添加了 API 以替换用户代理元数据。我们引入了新的 API
WebSettingsCompat#setUserAgentMetadata
来替换 WebView 的用户代理元数据,该元数据用于填充用户代理客户端提示;我们还添加了另一个新 APIWebSettingsCompat#getUserAgentMetadata
来获取当前的用户代理替换项。我们建议应用使用新 API 设置正确的替换值,而不是依赖于更改 user-agent。(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 以来的重要变更
- 添加了对通过
WebMessagePortCompat#postMessage
、JavaScriptReplyProxy#postMessage
和WebViewCompat#postWebMessage
传递ArrayBuffer
、通过WebMessagePortCompat
和WebMessageListener
从 JavaScript 接收ArrayBuffer
,以及通过WebMessagePortCompat
从 JavaScript 接收可传输ArrayBuffer
的支持。(aosp/2596550、b/251152171)
版本 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#postMessage
、JsReplyProxy#postMessage
和WebViewCompat#postWebMessage
传递ArrayBuffer
、通过WebMessagePortCompat
和WebMessageListener
从 JavaScript 接收ArrayBuffer
以及通过WebMessagePortCompat
从 JavaScript 接收可传输ArrayBuffer
的支持。请注意,此 API 仅在WebView
116 及更高版本中提供。(Ie7567、b/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,可用于设置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
将为当前进程使用的基准目录。(Ibd1a1、b/250553687)
bug 修复
- 修复了使用
DexGuard
时无效的ProGuard
规则导致 build 错误的问题(Ia65c2、b/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 中包含这些提交内容。
新功能
版本 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 方法应在每个进程中仅被调用一次,并且应尽早调用;如果被多次调用,则会抛出IllegalStateException
。ProcessGlobalConfig
对象不再对调用 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
加载到进程中。(I7c0e0、b/250553687) - 添加了新的 API,可让应用将 X-Requested-With 标头中的应用软件包名称明确发送到已列入许可名单的来源。一直以来,系统都是在
WebView
发出的每个请求中发送该标头。(I0adfe、b/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 的名称和值属性。(I07365、b/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,则意味着只有绕过列表中的网址才会使用代理设置。(I9eaa2、b/168728599)
bug 修复
- 修复了深色主题文档中的拼写错误。(I36ebf、b/194343633)
- 修复了
WebViewAssetLoader.Builder
方法无意中按顺序执行的 bug。(If420d、b/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 的文档格式进行了细微修复。