Вебкит
Последнее обновление | Стабильный выпуск | Кандидат на выпуск | Бета-версия | Альфа-релиз |
---|---|---|---|---|
11 декабря 2024 г. | 1.9.0 | - | - | 1.13.0-альфа02 |
Объявление зависимостей
Чтобы добавить зависимость от Webkit, вам необходимо добавить в свой проект репозиторий Google Maven. Для получения дополнительной информации прочтите репозиторий Google Maven .
Добавьте зависимости для нужных вам артефактов в файл build.gradle
для вашего приложения или модуля:
классный
dependencies { implementation "androidx.webkit:webkit:1.9.0" }
Котлин
dependencies { implementation("androidx.webkit:webkit:1.9.0") }
Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .
Обратная связь
Ваши отзывы помогают сделать Jetpack лучше. Дайте нам знать, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.
Дополнительную информацию см . в документации по системе отслеживания проблем .
Версия 1.13
Версия 1.13.0-альфа02
11 декабря 2024 г.
Выпущен androidx.webkit:webkit:1.13.0-alpha02
. Версия 1.13.0-alpha02 содержит эти коммиты .
Новые возможности
- Добавьте API маркировки сокетов в
WebView
для учета сетевого трафикаWebView
с помощьюNetworkStatsManager
/TrafficStats
. Эта функция будет доступна только вWebView
M133. ( Ica441 , б/374932688 )
Изменения API
- Обновите API Prefetch, переименовав
PrefetchParameter
вSpeculativeLoadingParamaters
, добавив новоеPrefetchNetworkException
, заменивPrefetchOperationCallback
наOutcomeReceiverCompat
и обновив javadoc. ( Если5072 ) - Получите диагностическую информацию из API асинхронного запуска WebView.
- Предоставьте приложениям возможность запускать только инициализацию, которая не блокирует поток пользовательского интерфейса. ( I9bf2b )
Исправления ошибок
- Эта библиотека теперь использует аннотации NULL NULL JSpecify , которые являются типизированными. Разработчики Kotlin должны использовать следующие аргументы компилятора для обеспечения правильного использования:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode
( I0e4c5 , b/326456246 )
Версия 1.13.0-альфа01
13 ноября 2024 г.
Выпущен androidx.webkit:webkit:1.13.0-alpha01
. Версия 1.13.0-alpha01 содержит эти коммиты .
Новые возможности
- Добавьте экспериментальный API асинхронного запуска
WebView
. ( I94b8a ) - Предварительная выборка URL-адресов в профиле: в профиле представлен новый API, позволяющий разработчикам запускать предварительную выборку URL-адресов. Очистка предварительной выборки: добавлен API для очистки текущих предварительных выборок. ( I42c5c )
Изменения API
- Устаревший
WebView.startSafeBrowsing
. ( Если5626 )
Версия 1.12
Версия 1.12.1
2 октября 2024 г.
androidx.webkit:webkit:1.12.1
выпущен. Версия 1.12.1 содержит эти коммиты .
Исправления ошибок
- Устраните проблему, из-за которой API 1.12.0 не были доступны в выпуске.
Версия 1.12.0
18 сентября 2024 г.
androidx.webkit:webkit:1.12.0
выпущен. Версия 1.12.0 содержит эти коммиты .
Важные изменения с версии 1.11.0
- Добавьте новый API в
WebSettingsCompat
, чтобы включить/отключить BackForwardCache для этогоWebSettings
. Этот API является экспериментальным и может быть изменен в будущем. ( аосп/3111705 ) - Добавьте новый API в
WebSettingsCompat
для управления поведением спекулятивной загрузки для этогоWebSettings
. На данный момент доступен только Prerender . Этот API является экспериментальным и может быть изменен в будущем. ( I13962 ) - Добавлен новый API для включения веб-аутентификации в
WebView
. Разработчики могут включать/отключать вызовыWebAuthn
вWebView
для своих приложений с помощьюWebSettingsCompat#setWebAuthenticationSupport
. ( I8187f )
Версия 1.12.0-rc01
4 сентября 2024 г.
androidx.webkit:webkit:1.12.0-rc01
выпущен. Этот выпуск не содержит изменений по сравнению с выпуском 1.12.0-beta01
.
Версия 1.12.0-бета01
21 августа 2024 г.
Выпущен androidx.webkit:webkit:1.12.0-beta01
. Версия 1.12.0-beta01 содержит эти коммиты .
Исправления ошибок
- Убрано ручное определение доступа к API новой платформы, поскольку это происходит автоматически посредством моделирования API при использовании R8 с AGP 7.3 или новее (например, R8 версии 3.3) и для всех сборок при использовании AGP 8.1 или новее (например, D8 версии 8.1). Клиентам, не использующим AGP, рекомендуется выполнить обновление до D8 версии 8.1 или более поздней. Более подробную информацию можно найти в этой статье . ( Ia60e0 , б/345472586 )
Версия 1.12.0-альфа02
12 июня 2024 г.
Выпущен androidx.webkit:webkit:1.12.0-alpha02
. Версия 1.12.0-alpha02 содержит эти коммиты .
Новые возможности
- Добавьте новый API в
WebSettingsCompat
, чтобы включить/отключитьBackForwardCache
. Этот API является экспериментальным и может быть изменен в будущем. ( I64a38 ) - Добавьте новый API в
WebSettingsCompat
для управления поведением спекулятивной загрузки для этого WebSettings. На данный момент доступен только Prerender . Этот API является экспериментальным и может быть изменен в будущем. ( I13962 )
Изменения API
- Некоторые методы теперь документируются с помощью
@UiThread
, где это необходимо. ( I6c7e0 ), ( I44541 ) - Потокобезопасные методы теперь документируются с помощью
@AnyThread
. ( I70189 ) - Увеличение
minSdkVersion
с 19 до 21. ( Id7a43 )
Версия 1.12.0-альфа01
17 апреля 2024 г.
Выпущен androidx.webkit:webkit:1.12.0-alpha01
. Версия 1.12.0-alpha01 содержит эти коммиты .
Изменения API
- Добавлен новый API для включения веб-аутентификации в
WebView. Developers
могут включать/отключать вызовыWebAuthn
вWebView
для своих приложений с помощьюWebSettingsCompat#setWebAuthenticationSupport
. ( I8187f )
Версия 1.11
Версия 1.11.0
1 мая 2024 г.
androidx.webkit:webkit:1.11.0
выпущен. Версия 1.11.0 содержит эти коммиты .
Важные изменения с версии 1.10.0
- Разрешите приложениям управлять воспроизведением звука в
WebView
с помощью новых API-интерфейсовsetAudioMuted
иisAudioMuted
, которые аналогичны отключению звука на вкладке в Chrome. - Представлен
URLUtilCompat
, который поддерживает анализ заголовковContent-Disposition
, которые используют атрибут закодированного значенияfilename*
, как определено в RFC 6266 . API совместимости также напрямую предоставляет метод для анализа заголовкаContent-Disposition
, когда предлагаемое имя файла на основе URL-адреса и MIME-типа нежелательно.
Версия 1.11.0-rc01
3 апреля 2024 г.
androidx.webkit:webkit:1.11.0-rc01
выпущен. Этот выпуск не содержит изменений по сравнению с выпуском 1.11.0-beta01
.
Версия 1.11.0-бета01
20 марта 2024 г.
androidx.webkit:webkit:1.11.0-beta01
выпущен без каких-либо заметных изменений. Версия 1.11.0-beta01 содержит эти коммиты .
Версия 1.11.0-альфа02
21 февраля 2024 г.
Выпущен androidx.webkit:webkit:1.11.0-alpha02
. Версия 1.11.0-alpha02 содержит эти коммиты.
Новые возможности
- Добавьте методы
setAudioMuted
иisAudioMuted
для отключения (и включения звука)WebViews
. Этот метод позволит вам запретить воспроизведение звукаWebView
. ( Ie7a33 )
Изменения API
-
URLUtilCompat
становится окончательным, поскольку его не следует создавать подклассы. ( I49ec1 )
Версия 1.11.0-альфа01
7 февраля 2024 г.
Выпущен androidx.webkit:webkit:1.11.0-alpha01
. Версия 1.11.0-alpha01 содержит эти коммиты.
Новые возможности
- Добавьте совместимость для
URLUtil.guessFileName
. Версия совместимости вURLUtilCompat
поддерживает анализ заголовковContent-Disposition
, которые используют атрибут закодированного значенияfilename*
, как определено в RFC 6266 . API совместимости также напрямую предоставляет метод для анализа заголовкаContent-Disposition
, когда предлагаемое имя файла на основе URL-адреса и MIME-типа нежелательно. ( If6ae7 , b/309927164 )
Версия 1.10
Версия 1.10.0
24 января 2024 г.
androidx.webkit:webkit:1.10.0
выпущен. Версия 1.10.0 содержит эти коммиты.
Важные изменения с версии 1.9.0
- В WebSettingsCompat добавлен новый API для управления экспериментальным поведением API целостности мультимедиа Android WebView путем полного отключения API или ограничения совместного использования идентификаторов приложения в ответе API. Это можно включить для всех источников и отдельно для каждого источника.
Версия 1.10.0-rc01
10 января 2024 г.
androidx.webkit:webkit:1.10.0-rc01
выпущен. Этот выпуск не содержит изменений по сравнению с выпуском 1.10.0-beta01
.
Версия 1.10.0-бета01
13 декабря 2023 г.
Выпущен androidx.webkit:webkit:1.10.0-beta01
. Версия 1.10.0-beta01 содержит эти коммиты.
- Функциональных изменений по сравнению с
1.10.0-alpha01
нет.
Версия 1.10.0-альфа01
29 ноября 2023 г.
Выпущен androidx.webkit:webkit:1.10.0-alpha01
. Версия 1.10.0-alpha01 содержит эти коммиты.
Новые возможности
- В
WebSettingsCompat
добавлен новый API для управления экспериментальным поведением API целостности мультимедиа Android WebView путем полного отключения API или ограничения совместного использования идентификаторов приложения в ответе API. Это можно включить для всех источников и отдельно для каждого источника.
Версия 1.9
Версия 1.9.0
29 ноября 2023 г.
Выпущен androidx.webkit:webkit:1.9.0
. Версия 1.9.0 содержит эти коммиты.
Важные изменения с версии 1.8.0
- Добавлен новый многопрофильный API для WebViews.
- Интерфейс профиля имеет различные API-интерфейсы, которые можно использовать для получения связанных с этим профилем данных, таких как его имя, GeoLocationPermissions , ServiceWorkerController , CookieManager и WebStorage . Эти объекты относятся к конкретному профилю, и информация не передается между разными профилями в приложении.
- Профиль, используемый экземпляром
WebView
, можно изменить с помощью метода WebViewCompat#setProfile и получить с помощью WebViewCompat#getProfile. - Недавно представленный ProfileStore позволяет вам управлять доступными профилями в вашем приложении, включая профиль по умолчанию.
- Существующие API WebView, такие как CookieManager#getInstance, продолжат работать с профилем по умолчанию.
- Добавлен API для внедрения и запуска Javascript перед загрузкой страницы.
- API WebViewCompat#addDocumentStartJavascript позволяет приложениям внедрять сценарии в
WebView
, которые гарантированно запускаются до выполнения каких-либо сценариев страниц. API позволяет приложению указать целевой список источников для включения сценария, гарантируя, что он будет работать только на намеченных страницах. В отличие от WebView#evaluateJavascript этот API позволит выполнять сценарии во встроенных Iframe при их загрузке. Приложения могут использовать этот новый API в сочетании с WebViewCompat#addWebMessageListener для надежной настройки двусторонней связи с JavaScript на странице.
- API WebViewCompat#addDocumentStartJavascript позволяет приложениям внедрять сценарии в
- Добавлены API для изменения способа регистрации событий отчетов по атрибуции Privacy Sandbox.
- Мы представили новый API WebSettingsCompat#setAttributionRegistrationBehavior , который позволяет разработчикам настраивать, регистрируются ли источники и триггеры атрибуции как исходящие из самого приложения или как поступающие из веб-контента в WebView. Этот метод также можно использовать для отключения отчетов об атрибуции в WebView. Кроме того, мы добавили новый API
WebSettingsCompat#getAttributionRegistrationBehavior
чтобы получить текущее поведение. - Дополнительную информацию см. в документации Privacy Sandbox .
- Мы представили новый API WebSettingsCompat#setAttributionRegistrationBehavior , который позволяет разработчикам настраивать, регистрируются ли источники и триггеры атрибуции как исходящие из самого приложения или как поступающие из веб-контента в WebView. Этот метод также можно использовать для отключения отчетов об атрибуции в WebView. Кроме того, мы добавили новый API
- Добавлены API для переопределения метаданных пользовательского агента для подсказок клиента.
- Мы представили новый API WebSettingsCompat#setUserAgentMetadata для переопределения метаданных пользовательского агента для WebView, используемых для заполнения подсказок клиента пользовательского агента, а также добавили еще один новый API WebSettingsCompat#getUserAgentMetadata для получения текущих переопределений пользовательского агента. Мы рекомендуем приложениям использовать новый API для установки правильных значений переопределения всякий раз, когда приложение меняет строку пользовательского агента по умолчанию с помощью WebSettings.setUserAgentString , чтобы гарантировать использование правильных значений во всех ситуациях.
Версия 1.9.0-rc01
15 ноября 2023 г.
androidx.webkit:webkit:1.9.0-rc01
выпущен. Этот выпуск не содержит изменений по сравнению с выпуском 1.9.0-beta01
.
Версия 1.9.0-бета01
1 ноября 2023 г.
Выпущен androidx.webkit:webkit:1.9.0-beta01
. Версия 1.9.0-beta01 содержит эти коммиты.
Изменения API
- Устраните проблему с нулевым значением API метаданных пользовательского агента. Мы обновляем класс
BrandVersion
, чтобы использовать шаблон компоновщика, делаем согласованными значения нулевых значений геттеров и сеттеров классаUserAgentMetadata
. ( Ibf195 ) - Аннотирование
ProfileStore
,WebViewCompat#setProfile
иWebViewCompat.getProfile
с помощью@UiThread
. ( I499b2 )
Версия 1.9.0-альфа01
18 октября 2023 г.
Выпущен 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
. В связи с этим профильWebView
можно получить с помощьюWebViewCompat#getProfile
. ( I32d22 ) - Добавьте API, чтобы изменить способ регистрации событий отчетов об атрибуции. Мы представили новый API
WebSettingsCompat#setAttributionRegistrationBehavior
, который позволяет разработчикам настраивать, регистрируются ли источники и триггеры как исходящие из самого приложения или как поступающие из веб-контента вWebView
. Этот метод также можно использовать для отключения отчетов об атрибуции вWebView
. Кроме того, мы добавили новый APIWebSettingsCompat#getAttributionRegistrationBehavior
чтобы получить текущее поведение. Дополнительную информацию см. в документации Privacy Sandbox . ( I661f2 ) - Добавьте API для переопределения метаданных пользовательского агента. Мы представили новый API
WebSettingsCompat#setUserAgentMetadata
для переопределения метаданных пользовательского агента для WebView, который используется для заполнения подсказок клиента пользовательского агента, а также добавили еще один новый APIWebSettingsCompat#getUserAgentMetadata
для получения текущих переопределений пользовательского агента. Мы рекомендуем приложениям использовать новый API для установки правильных значений переопределения вместо того, чтобы полагаться на изменение пользовательского агента. ( I74500 ) - Добавьте API для внедрения Javascript, который будет запускаться во время загрузки страницы. API
WebViewCompat.addDocumentStartJavascript
позволяет приложениям внедрять сценарии в WebView, который будет запускаться до выполнения любых сценариев страниц. API позволяет приложению указать целевой список источников для включения сценария, гарантируя, что он будет работать только на намеченных страницах. В отличие отWebView.evaluateJavascript
, этот API позволит выполнять сценарии во встроенных Iframe при их загрузке. ( Иде063 )
Версия 1.8
Версия 1.8.0
6 сентября 2023 г.
Выпущен androidx.webkit:webkit:1.8.0
. Версия 1.8.0 содержит эти коммиты.
Важные изменения с версии 1.7.0
- Добавьте поддержку передачи
ArrayBuffer
черезWebMessagePortCompat#postMessage
,JavaScriptReplyProxy#postMessage
иWebViewCompat#postWebMessage
, полученияArrayBuffer
из JavaScript черезWebMessagePortCompat
иWebMessageListener
и получения передаваемогоArrayBuffer
из JavaScript черезWebMessagePortCompat
. ( аосп/2596550 , б/251152171 )
Версия 1.8.0-rc01
9 августа 2023 г.
androidx.webkit:webkit:1.8.0-rc01
выпущен без изменений с 1.8.0-beta01
. Версия 1.8.0-rc01 содержит эти коммиты.
Версия 1.8.0-бета01
26 июля 2023 г.
androidx.webkit:webkit:1.8.0-beta01
выпущен без изменений с 1.8.0-alpha01
. Версия 1.8.0-beta01 содержит эти коммиты.
Версия 1.8.0-альфа01
7 июня 2023 г.
Выпущен androidx.webkit:webkit:1.8.0-alpha01
. Версия 1.8.0-alpha01 содержит эти коммиты.
Изменения API
- См. раздел «Внешний вклад».
Внешний вклад
- Добавьте поддержку передачи
ArrayBuffer
черезWebMessagePortCompat#postMessage
,JsReplyProxy#postMessage
иWebViewCompat#postWebMessage
, полученияArrayBuffer
из JavaScript черезWebMessagePortCompat
иWebMessageListener
и получения передаваемогоArrayBuffer
из JavaScript черезWebMessagePortCompat
. Обратите внимание, что этот API будет доступен только вWebView
версии 116. ( Ie7567 , b/251152171 ).
Версия 1.7
Версия 1.7.0
24 мая 2023 г.
Выпущен androidx.webkit:webkit:1.7.0
. Версия 1.7.0 содержит эти коммиты.
Важные изменения с версии 1.6.0
- Мы добавили поддержку перетаскивания изображений в
WebView
. Вы можете разрешить пользователям перетаскивать изображения изWebView
, добавив новыйDropDataContentProvider
в манифест вашего приложения, как описано в документации класса. - Мы добавили API
ProcessGlobalConfig#setDirectoryBasePaths(Context,File,File)
, который можно использовать для установки базовых каталогов, которыеWebView
будет использовать для текущего процесса. Как и все методыProcessGlobalConfig
, этот метод необходимо вызвать до создания экземпляра первого экземпляраWebView
. Этот метод добавлен, чтобы предоставить платформе Android возможность настраивать параметрыWebView
. Для приложений общего назначения использование этого метода не рекомендуется.
Версия 1.7.0-rc01
10 мая 2023 г.
androidx.webkit:webkit:1.7.0-rc01
выпущен без изменений с 1.7.0-beta01
. Версия 1.7.0-rc01 содержит эти коммиты.
Версия 1.7.0-бета01
5 апреля 2023 г.
Выпущен androidx.webkit:webkit:1.7.0-beta01
. Версия 1.7.0-beta01 содержит эти коммиты.
Изменения API
- Незначительное изменение флага функции и имени метода, а также возможность
setDirectoryBasePaths()
принимать файл вместо строки ( Ib0d0a ).
Версия 1.7.0-альфа03
8 марта 2023 г.
Выпущен androidx.webkit:webkit:1.7.0-alpha03
. Версия 1.7.0-alpha03 содержит эти коммиты.
Изменения API
- Добавьте API
ProcessGlobalConfig#setDirectoryBasePath(String, String)
, который можно использовать для установки базовых каталогов, которыеWebView
будет использовать для текущего процесса. ( Ibd1a1 , б / 250553687 )
Исправления ошибок
- Исправлено неверное правило
ProGuard
, вызывающее ошибки сборки при использованииDexGuard
( Ia65c2 , b/270034835 ).
Версия 1.7.0-альфа02
8 февраля 2023 г.
Выпущен androidx.webkit:webkit:1.7.0-alpha02
. Версия 1.7.0-alpha02 содержит эти коммиты.
Исправления ошибок
- Ошибки документации для
DropDataContentProvider
.
Версия 1.7.0-альфа01
25 января 2023 г.
Выпущен androidx.webkit:webkit:1.7.0-alpha01
. Версия 1.7.0-alpha01 содержит эти коммиты.
Новые возможности
- Мы добавляем поддержку перетаскивания изображений в
WebView
. Вы можете разрешить пользователям перетаскивать изображения изWebView
, добавив новыйDropDataContentProvider
в манифест вашего приложения. ( 05а1а6 )
Версия 1.6
Версия 1.6.1
22 марта 2023 г.
androidx.webkit:webkit:1.6.1
выпущен. Версия 1.6.1 содержит эти коммиты.
Исправления ошибок
- Исправить ошибку анализа proguard ( Ia65c2 )
Версия 1.6.0
25 января 2023 г.
Выпущен androidx.webkit:webkit:1.6.0
. Версия 1.6.0 содержит эти коммиты.
Важные изменения с версии 1.5.0
- Был добавлен новый API ProcessGlobalConfig , позволяющий приложениям предоставлять параметры конфигурации, которые необходимо установить перед загрузкой WebView, например суффикс каталога данных WebView. Конфигурацию следует настроить и применить как можно раньше во время запуска приложения, чтобы гарантировать, что это произойдет до того, как любой другой поток сможет вызвать метод, загружающий
WebView
в процесс. - Был добавлен новый API CookieManagerCompat для расширения android.webkit.CookieManager новым методом
getCookieInfo
, который извлекает все атрибуты для всех файлов cookie, установленных для определенного URL-адреса. Это отличается от существующего API getCookie вCookieManager
, который возвращает только атрибуты имени и значения файлов cookie. -
WebSettingsCompat
имеет новые методы для включения/отключения эффектаEnterpriseAuthenticationAppLinkPolicy
, если он установлен администратором вWebView
, а также для получения текущих настроек . Эта функция позволяет WebView открывать приложение аутентификации вместо открытия URL-адреса аутентификации. Эта функция не влияет на устройства, которые не управляются корпоративной политикой. - Добавление нового API в
WebSettingsCompat
, позволяющего приложениям явно отправлять имя пакета приложения в заголовкеX-Requested-With
источникам из разрешенного списка. Заголовок традиционно отправляется при каждом запросе отWebView
.
Версия 1.6.0-rc01
11 января 2023 г.
androidx.webkit:webkit:1.6.0-rc01
выпущен. Версия 1.6.0-rc01 содержит эти коммиты.
Исправления ошибок
- Исправлено исключение
NullPointerException
вWebViewFeature.isStartupFeatureSupported(Context, String)
при работе на SDK < L. ( Ic7292 ).
Версия 1.6.0-бета01
7 декабря 2022 г.
Выпущен androidx.webkit:webkit:1.6.0-beta01
. Версия 1.6.0-beta01 содержит эти коммиты.
Изменения API
-
ProcessGlobalConfig
был изменен и теперь использует обычный конструктор и статический метод Apply. Метод apply следует вызывать только один раз для каждого процесса, как можно раньше, и при повторном вызове он выдаст исключениеIllegalStateException
. ОбъектыProcessGlobalConfig
больше не имеют ограничений на количество вызовов установщиков. ( I456c3 )
Версия 1.6.0-альфа03
9 ноября 2022 г.
Выпущен androidx.webkit:webkit:1.6.0-alpha03
. Версия 1.6.0-alpha03 содержит эти коммиты.
Новые возможности
- Добавьте класс
ProcessGlobalConfig
, позволяющий пользователям задавать глобальную конфигурацию процесса перед загрузкойWebView
.WebView
имеет некоторые глобальные параметры конфигурации процесса, которые нельзя изменить после загрузкиWebView
(например, каталог данныхWebView
). Этот класс позволяет приложениям устанавливать эти параметры. Конфигурацию следует настроить и применить как можно раньше во время запуска приложения, чтобы гарантировать, что это произойдет до того, как любой другой поток сможет вызвать метод, загружающийWebView
в процесс. ( I7c0e0 , б/250553687 ) - Добавление нового API, позволяющего приложениям явно отправлять имя пакета приложения в заголовке X-Requested-With источникам из белого списка. Заголовок традиционно отправляется при каждом запросе от
WebView
. ( I0adfe , б/226552535 )
Изменения API
- API
WebSettingsCompat#setAlgorithmicDarkeningAllowed
поддерживается во всех версиях Android вWebView
версии 105 и более поздних версиях. Предыдущие версииWebView
поддерживали API только на Android Q и более поздних версиях. В результате этот API больше не имеет пометки@RequiresApi(Build.VERSION_CODES.Q)
. ( I3ac1d )
Версия 1.6.0-альфа02
24 октября 2022 г.
Выпущен androidx.webkit:webkit:1.6.0-alpha02
. Версия 1.6.0-alpha02 содержит эти коммиты.
Новые возможности
- Добавляет новый класс
CookieManagerCompat
вместе с APIgetCookieInfo
, который извлекает все атрибуты для всех файлов cookie, установленных для определенного URL-адреса. Это отличается от существующего APIgetCookie
вCookieManager
, который возвращает только атрибуты имени и значения файлов cookie. ( I07365 , б / 242161756 )
Версия 1.6.0-альфа01
24 августа 2022 г.
Выпущен androidx.webkit:webkit:1.6.0-alpha01
. Версия 1.6.0-alpha01 содержит эти коммиты.
Новые возможности
- Добавлены API в
WebSettingsCompat
для включения/отключения эффектаEnterpriseAuthenticationAppLinkPolicy
если он установлен администратором вWebView
. Эта функция позволяетWebView
открывать приложение аутентификации вместо открытия URL-адреса аутентификации. Эта функция не влияет на устройства, которые не управляются корпоративной политикой.
Версия 1.5.0
Версия 1.5.0
24 августа 2022 г.
Выпущен androidx.webkit:webkit:1.5.0
. Версия 1.5.0 содержит эти коммиты.
Важные изменения с версии 1.4.0
- Новый API
setAlgorithmicDarkeningAllowed
вWebSettingsCompat
заменяет старые APIsetForceDark
иsetForceDarkStrategy
. Приложения, предназначенные для SDK 33 и более поздних версий (T), должны использовать новый API, поскольку старый API больше не будет иметь никакого эффекта для этих приложений. - Список разрешенных URL-адресов для использования настроенного прокси-сервера теперь можно настроить через
ProxyCofig.Builder
, установив дляsetReverseBypassEnabled
значениеtrue
. Когда это произойдет, все остальные URL-адреса будут обходить настроенный прокси-сервер.
Версия 1.5.0-rc01
10 августа 2022 г.
androidx.webkit:webkit:1.5.0-rc01
выпущен без изменений с 1.5.0-beta01
. Версия 1.5.0-rc01 содержит эти коммиты.
Версия 1.5.0-бета01
29 июня 2022 г.
Выпущен androidx.webkit:webkit:1.5.0-beta01
. Версия 1.5.0-beta01 содержит эти коммиты.
Изменения API
- API-интерфейсы, связанные с Alogrithimic Darkening, теперь помечены как требующие уровня API Q. API не будет иметь никакого влияния на уровни API < Q, поскольку темная тема не поддерживается на этих устройствах. ( I0905e )
Версия 1.5.0-альфа01
18 мая 2022 г.
Выпущен androidx.webkit:webkit:1.5.0-alpha01
. Версия 1.5.0-alpha01 содержит эти коммиты.
Новые возможности
- Добавьте новый метод
getVariationsHeader()
вWebViewCompat
чтобы получить значение заголовка X-Client-Data, отправленноеWebView
. Возвращаемое значение будет прототипом ClientVariations в кодировке Base64. - Добавьте API в
WebSettingsCompat
, чтобы разрешить/запретить алгоритмическое затемнение для приложения с targetSdk >= 33. ( I29597 )
Изменения API
- Добавьте новый метод в
ProxyCofig.Builder
для установки обратного обхода. Установка обратного обхода в значение true означает, что только URL-адреса в списке обхода будут использовать настройки прокси. ( I9eaa2 , б/168728599 )
Исправления ошибок
- Исправлена опечатка в документации по темной теме. ( I36ebf , р/194343633 )
- Исправлена ошибка, из-за которой методы
WebViewAssetLoader.Builder
непреднамеренно зависели от порядка. ( If420d , б/182196765 )
Версия 1.4.0
Версия 1.4.0
16 декабря 2020 г.
Выпущен androidx.webkit:webkit:1.4.0
. Версия 1.4.0 содержит эти коммиты.
Основные изменения с версии 1.3.0
- Добавлен новый API
setSafeBrowsingAllowlist()
вместоsetSafeBrowsingWhitelist()
. Это помогает приложениям обновлять свой код, чтобы избежать неисключающей терминологии, сохраняя при этом поддержку того же диапазона Android SDK и версий WebView, что и устаревший API. - Исправлена ошибка в setProxyOverride, из-за которой резервные правила применялись неправильно.
Версия 1.4.0-rc02
2 декабря 2020 г.
Выпущен androidx.webkit:webkit:1.4.0-rc02
. Версия 1.4.0-rc02 содержит эти коммиты.
Исправления ошибок
- Исправляет резервные правила, которые некорректно применяются при использовании setProxyOverride.
Версия 1.4.0-rc01
11 ноября 2020 г.
androidx.webkit:webkit:1.4.0-rc01
выпущен без изменений с 1.4.0-beta01
. Версия 1.4.0-rc01 содержит эти коммиты.
Версия 1.4.0-бета01
14 октября 2020 г.
androidx.webkit:webkit:1.4.0-beta01
выпущен без изменений с 1.4.0-alpha01
. Версия 1.4.0-beta01 содержит эти коммиты.
Версия 1.4.0-альфа01
16 сентября 2020 г.
Выпущен androidx.webkit:webkit:1.4.0-alpha01
. Версия 1.4.0-alpha01 содержит эти коммиты.
Изменения API
- Добавлен новый API
WebViewCompat#setSafeBrowsingAllowlist()
вместоsetSafeBrowsingWhitelist()
. Это помогает приложениям обновлять свой код, чтобы избежать неисключающей терминологии, сохраняя при этом поддержку того же диапазона Android SDK и версий WebView, что и устаревший API. ( I8d65d )
Версия 1.3.0
Версия 1.3.0
19 августа 2020 г.
Выпущен androidx.webkit:webkit:1.3.0
. Версия 1.3.0 содержит эти коммиты.
Основные изменения с версии 1.2.0
- API ForceDarkStrategy обеспечивает больший контроль над затемнением WebView (затемнение CSS/веб-контента вместо автоматического затемнения).
- WebMessageListener и связанные с ним API предоставляют простой и безопасный механизм для установления связи между веб-содержимым и приложением для внедрения WebView.
-
isMultiProcessEnabled
API, чтобы проверить, работает ли WebView в нескольких процессах. Это возможно, начиная с Android O, и это означает, что веб-контент отображается в изолированном процессе рендеринга, отдельно от процесса приложения. Этот изолированный модуль визуализации может использоваться совместно с другими WebView в том же приложении, но не используется совместно с другими процессами приложения.
Версия 1.3.0-rc02
5 августа 2020 г.
androidx.webkit:webkit:1.3.0-rc02
выпущен. Версия 1.3.0-rc02 содержит эти коммиты.
Исправления ошибок
- Это устраняет проблему совместимости, из-за которой
WebMessageListener
иногда приводил к сбою во время локальной разработки, если ваше приложение запускалось с мгновенным запуском Android Studio.
Версия 1.3.0-rc01
24 июня 2020 г.
androidx.webkit:webkit:1.3.0-rc01
выпущен без изменений с 1.3.0-beta01
. Версия 1.3.0-rc01 содержит эти коммиты.
Версия 1.3.0-бета01
10 июня 2020 г.
Выпущен androidx.webkit:webkit:1.3.0-beta01
. Версия 1.3.0-beta01 содержит эти коммиты.
Новые возможности
- API
ForceDarkStrategy
для управления затемнением WebView (затемнение CSS/веб-контента вместо автоматического затемнения). - API-интерфейсы
WebMessageListener
предоставляют простой и безопасный механизм для установления связи между веб-содержимым и приложением для внедрения WebView. - API
MultiProcessEnabled
для проверки, работает ли WebView в многопроцессном режиме.
Версия 1.3.0-альфа03
27 мая 2020 г.
Выпущен androidx.webkit:webkit:1.3.0-alpha03
. Версия 1.3.0-alpha03 содержит эти коммиты.
Изменения API
- Метод
addWebMessageListener
теперь получаетSet<String>
разрешенных правил происхождения (ранееList<String>
).
Версия 1.3.0-альфа02
29 апреля 2020 г.
Выпущен androidx.webkit:webkit:1.3.0-alpha02
. Версия 1.3.0-alpha02 содержит эти коммиты.
Новые возможности
- API MultiProcessEnabled для проверки, работает ли WebView в многопроцессном режиме.
Изменения API
- Все константы темной стратегии теперь имеют префикс
DARK_STRATEGY
.
Версия 1.3.0-альфа01
15 апреля 2020 г.
Выпущен androidx.webkit:webkit:1.3.0-alpha01
. Версия 1.3.0-alpha01 содержит эти коммиты.
Новые возможности
- API
ForceDarkStrategy
для управления затемнениемWebView
(затемнение CSS/веб-контента вместо автоматического затемнения). - API-интерфейсы
WebMessageListener
предоставляют простой и безопасный механизм для установления связи между веб-содержимым и приложением для внедрения WebView.
Версия 1.2.0
Версия 1.2.0
4 марта 2020 г.
androidx.webkit:webkit:1.2.0
выпущен. Версия 1.2.0 содержит эти коммиты.
Основные изменения с версии 1.1.0
- Добавлен API ForceDark для управления отображением WebView в темном режиме.
Версия 1.2.0-rc01
19 февраля 2020 г.
androidx.webkit:webkit:1.2.0-rc01
выпущен без изменений с 1.2.0-beta01
. Версия 1.2.0-rc01 содержит эти коммиты.
Версия 1.2.0-бета01
5 февраля 2020 г.
androidx.webkit:webkit:1.2.0-beta01
выпущен без изменений с 1.2.0-alpha01
. Версия 1.2.0-beta01 содержит эти коммиты .
Версия 1.2.0-альфа01
18 декабря 2019 г.
Выпущен androidx.webkit:webkit:1.2.0-alpha01
. Версия 1.2.0-alpha01 содержит эти коммиты .
Новые возможности
- ForceDark API для управления отображением WebView в темном режиме.
Версия 1.1.0
Версия 1.1.0
7 ноября 2019 г.
androidx.webkit:webkit:1.1.0
выпущен. Версия 1.1.0 содержит эти коммиты .
Важные изменения с версии 1.0.0
- API-интерфейсы Getter для дополнения setWebViewClient() и setWebChromeClient() .
- API ProxyController для установки прокси-сервера сетевых запросов для WebViews приложения.
- API WebViewAssetLoader для упрощения загрузки ресурсов, ресурсов и файлов APK из каталога данных приложения посредством перехвата запросов. Это позволяет получить доступ к веб-и локальным ресурсам без отключения CORS.
- API TracingController для сбора информации трассировки WebView в целях отладки.
- API-интерфейсы RenderProcess для управления службами отрисовки WebView и обнаружения случаев, когда из-за плохого поведения содержимого средства отрисовки WebView перестают отвечать на запросы.
- Обновлены существующие API, чтобы включить аннотации обнуляемости (
@NonNull
,@Nullable
) и потоков (@UiThread
,@WorkerThread
).
Версия 1.1.0-rc01
9 октября 2019 г.
androidx.webkit:webkit:1.1.0-rc01
выпущен. Версия 1.1.0-rc01 содержит эти коммиты .
Исправления ошибок
- Исправлена проблема, из-за которой
setWebViewRenderProcessClient()
мог завершиться сбоем, если был передан нулевой клиент.
Версия 1.1.0-бета01
5 сентября 2019 г.
Выпущен androidx.webkit:webkit:1.1.0-beta01
. Коммиты, включенные в эту версию, можно найти здесь .
Новые возможности
- Новый
InternalStoragePathHandler
вWebViewAssetLoader
для загрузки файлов из каталога данных приложения.
Изменения API
-
ProxyConfig#getProxyRules()
теперь возвращает неизменяемый список экземпляровProxyRule
, который представляет собой новый класс для хранения фильтра схемы и соответствующего ему URL-адреса прокси.
Исправления ошибок
-
WebViewAssetLoader
по умолчанию использует тип MIME «текст/простой» (а не нулевой), если не может угадать тип MIME по пути к файлу. -
WebViewAssetLoader
больше не генерирует исключениеNullPointerException
при загрузке файлов со специальными символами в именах путей.
Версия 1.1.0-альфа02
7 августа 2019 г.
Выпущен androidx.webkit:webkit:1.1.0-alpha02
. Коммиты, включенные в эту версию, можно найти здесь .
Новые возможности
-
WebViewAssetLoader
предоставляет интерфейсPathHandler
, позволяющий приложениям создавать собственные функции обработки путей.
Изменения API
-
WebViewAssetLoader
теперь является последним классом, поскольку он не предназначен для создания подкласса. - Реализации
WebViewAssetLoader#PathHandler
теперь общедоступны и окончательны. - Незначительные изменения в именах методов ProxyConfig.
-
ProxyController
: добавлены новые методыaddDirect()
иaddDirect(String)
для прямого подключения к серверам; удалена ПРЯМАЯ строка. - Обновлены существующие API, чтобы включить аннотации обнуляемости (
@NonNull
,@Nullable
) и потоков (@UiThread
,@WorkerThread
).
Версия 1.1.0-альфа01
7 мая 2019 г.
Выпущен androidx.webkit:webkit:1.1.0-alpha01
. Коммиты, включенные в эту версию, можно найти здесь .
Новые возможности
- API-интерфейсы Getter для дополнения
setWebViewClient()
иsetWebChromeClient()
- API ProxyController для установки прокси-сервера сетевых запросов для WebViews приложения.
- API AssetLoader для упрощения загрузки ресурсов и ресурсов APK посредством перехвата запросов, обеспечивая доступ к веб-ресурсам без отключения CORS.
- API TracingController для сбора информации трассировки WebView в целях отладки.
- API-интерфейсы RenderProcess для управления службами отрисовки WebView и обнаружения случаев, когда из-за плохого поведения содержимого средства отрисовки WebView перестают отвечать на запросы.
Исправления ошибок
- Незначительные исправления форматирования документации для существующих API.