Вебкит

Работайте с современными API WebView на Android 5 и более поздних версиях.
Последнее обновление Стабильный выпуск Кандидат на выпуск Бета-версия Альфа-релиз
13 ноября 2024 г. 1.9.0 - - 1.13.0-альфа01

Объявление зависимостей

Чтобы добавить зависимость от 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")
}

Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .

Обратная связь

Ваши отзывы помогают сделать Jetpack лучше. Дайте нам знать, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.

Создать новую задачу

Дополнительную информацию см . в документации по системе отслеживания проблем .

Версия 1.13

Версия 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

Версия 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 для изменения способа регистрации событий отчетов по атрибуции Privacy Sandbox.
    • Мы представили новый API WebSettingsCompat#setAttributionRegistrationBehavior , который позволяет разработчикам настраивать, регистрируются ли источники и триггеры атрибуции как исходящие из самого приложения или как поступающие из веб-контента в WebView. Этот метод также можно использовать для отключения отчетов об атрибуции в WebView. Кроме того, мы добавили новый API WebSettingsCompat#getAttributionRegistrationBehavior чтобы получить текущее поведение.
    • Дополнительную информацию см. в документации Privacy Sandbox .
  • Добавлены 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 . Кроме того, мы добавили новый API WebSettingsCompat#getAttributionRegistrationBehavior чтобы получить текущее поведение. Дополнительную информацию см. в документации Privacy Sandbox . ( I661f2 )
  • Добавьте API для переопределения метаданных пользовательского агента. Мы представили новый API WebSettingsCompat#setUserAgentMetadata для переопределения метаданных пользовательского агента для WebView, который используется для заполнения подсказок клиента пользовательского агента, а также добавили еще один новый API WebSettingsCompat#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

Версия 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 вместе с API getCookieInfo , который извлекает все атрибуты для всех файлов cookie, установленных для определенного URL-адреса. Это отличается от существующего API getCookie в 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 заменяет старые API setForceDark и 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 . Возвращаемое значение будет представлять собой protobuf 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.