Webkit

Android 5 以降で、最新の WebView API を操作します。
最新の更新 安定版リリース リリース候補版 ベータ版リリース アルファ版リリース
2024 年 2 月 21 日 1.9.0 - - 1.11.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")
}

依存関係について詳しくは、ビルド依存関係の追加をご覧ください。

フィードバック

お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。

新しい問題を報告する

詳細については、Issue Tracker のドキュメントをご覧ください。

バージョン 1.11

バージョン 1.11.0-alpha02

2024 年 2 月 21 日

androidx.webkit:webkit:1.11.0-alpha02 がリリースされました。バージョン 1.11.0-alpha02 に含まれる commit については、こちらをご覧ください

新機能

  • 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 に含まれる commit については、こちらをご覧ください

新機能

  • URLUtil.guessFileName の互換性を追加しました。URLUtilCompat の互換性バージョンは、RFC 6266 で定義されているように、filename* でエンコードされた値属性を使用する Content-Disposition ヘッダーの解析をサポートしています。また、互換性 API は、URL と MIME タイプに基づく推奨ファイル名を使用したくない場合に、Content-Disposition ヘッダーを解析するメソッドを直接公開します。(If6ae7b/309927164

バージョン 1.10

バージョン 1.10.0

2024 年 1 月 24 日

androidx.webkit:webkit:1.10.0 がリリースされました。バージョン 1.10.0 に含まれる commit については、こちらをご覧ください

1.9.0 以降の重要な変更

  • WebSettingsCompat に新しい API を追加しました。これにより、API を完全に無効にするか、API レスポンスでのアプリケーション ID の共有を制限することで、試験運用版の 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 に含まれる commit については、こちらをご覧ください

  • 1.10.0-alpha01 から機能に変更はありません。

バージョン 1.10.0-alpha01

2023 年 11 月 29 日

androidx.webkit:webkit:1.10.0-alpha01 がリリースされました。バージョン 1.10.0-alpha01 に含まれる commit については、こちらをご覧ください

新機能

  • API を完全に無効にするか、API レスポンスでのアプリケーション ID の共有を制限することで、試験運用版の Android WebView Media Integrity API の動作を制御する新しい API を WebSettingsCompat に追加しました。これは、すべてのオリジンに対して、またはオリジンごとに切り替えることができます。

バージョン 1.9

バージョン 1.9.0

2023 年 11 月 29 日

androidx.webkit:webkit:1.9.0 がリリースされました。バージョン 1.9.0 に含まれる commit については、こちらをご覧ください

1.8.0 以降の重要な変更

  • WebView 用の新しいマルチプロファイル API を追加しました。
    • Profile インターフェースには、名前、GeoLocationPermissionsServiceWorkerControllerCookieManagerWebStorage など、このプロファイルに関連付けられたデータを取得するためのさまざまな API があります。これらのオブジェクトはプロファイルに固有であり、アプリケーションの異なるプロファイル間で情報が共有されることはありません。
    • WebView インスタンスが使用するプロファイルは、WebViewCompat#setProfile メソッドを使用して変更し、WebViewCompat#getProfile を使用して取得できます。
    • 新しく導入された ProfileStore を使用すると、デフォルト プロファイルを含め、アプリで使用可能なプロファイルを管理できます。
    • CookieManager#getInstance などの既存の WebView API は、引き続きデフォルト プロファイルで動作します。
  • ページの読み込み前に JavaScript を注入して実行する API を追加しました。
    • WebViewCompat#addDocumentStartJavascript API を使用すると、アプリから WebView にスクリプトを挿入できます。スクリプトは、ページ スクリプトが実行される前に実行されます。この API を使用すると、アプリでスクリプトを有効にするオリジンのターゲット リストを指定して、スクリプトが目的のページでのみ実行されるようにできます。WebView#evaluateJavascript とは異なり、この API では、読み込み時に埋め込み iFrame 内のスクリプトを実行できます。アプリでこの新しい API を WebViewCompat#addWebMessageListener と組み合わせて使用すると、信頼性の高い方法でページ内の JavaScript との双方向通信を設定できます。
  • プライバシー サンドボックスの Attribution Reporting イベントの登録方法を変更する API を追加しました。
    • 新しい API WebSettingsCompat#setAttributionRegistrationBehavior を導入しました。デベロッパーはこの API を使用して、アトリビューション ソースとトリガーをアプリ自体から取得したものとして登録するか、WebView のウェブ コンテンツから取得したものとして登録できます。このメソッドは、WebView のアトリビューション レポートを無効にする場合にも使用できます。さらに、現在の動作を取得するための新しい API WebSettingsCompat#getAttributionRegistrationBehavior を追加しました。
    • 詳しくは、プライバシー サンドボックスのドキュメントをご覧ください。
  • Client Hints のユーザー エージェント メタデータをオーバーライドする API を追加。
    • ユーザー エージェント クライアント ヒントの入力に使用される WebView のユーザー エージェント メタデータをオーバーライドする新しい API WebSettingsCompat#setUserAgentMetadata を導入しました。また、現在のユーザー エージェント オーバーライドを取得するための新しい 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 に含まれる commit については、こちらをご覧ください

API の変更

  • ユーザー エージェント メタデータ API の null 可能性の問題に対処。ビルダー パターンを使用するように BrandVersion クラスを更新し、UserAgentMetadata クラスのゲッターとセッターで null 可能性を統一しました。(Ibf195
  • ProfileStoreWebViewCompat#setProfileWebViewCompat.getProfile@UiThread アノテーションを付けます。(I499b2

バージョン 1.9.0-alpha01

2023 年 10 月 18 日

androidx.webkit:webkit:1.9.0-alpha01 がリリースされました。バージョン 1.9.0-alpha01 に含まれる commit については、こちらをご覧ください

新機能

  • マルチプロファイル API を追加しました。これにより、WebViews で個別のブラウジング セッションを作成し、プロファイルごとに独自のデータ(Cookie など)を設定できます。プロファイルを作成して WebView インスタンスに割り当てると、後でデータにアクセスして取得することができます。API(getOrCreateProfilegetProfilegetAllProfileNamesdeleteProfile)を使用してプロファイルを作成または削除することで、プロファイルの管理に役立つシングルトン クラス ProfileStore があります。Profile クラスには、名前、GeoLocationPermissionsServiceWorkerControllerCookieManagerWebStorage など、このプロファイルに関連付けられたデータを取得するためのさまざまな API があります。デフォルトでは、各 WebView はデフォルトのプロファイルで実行されますが、WebViewCompat#setProfile を使用して変更できます。これに関連して、WebView のプロファイルは WebViewCompat#getProfile を使用して取得できます。(I32d22
  • Attribution Reporting イベントの登録方法を変更する API を追加します。新しい API WebSettingsCompat#setAttributionRegistrationBehavior を導入しました。デベロッパーはこの API を使用して、ソースとトリガーをアプリ自体からのものとして登録するか、WebView のウェブ コンテンツからのものとして登録するかを設定できます。この方法は、WebView でアトリビューション レポートを無効にする場合にも使用できます。さらに、現在の動作を取得するための新しい API WebSettingsCompat#getAttributionRegistrationBehavior を追加しました。詳しくは、プライバシー サンドボックスのドキュメントをご覧ください。 (I661f2
  • ユーザー エージェント メタデータをオーバーライドする API を追加しました。WebView のユーザー エージェント メタデータをオーバーライドする新しい API WebSettingsCompat#setUserAgentMetadata を導入しました。これはユーザー エージェント クライアント ヒントの入力に使用されます。また、現在のユーザー エージェントのオーバーライドを取得するための新しい API WebSettingsCompat#getUserAgentMetadata も追加しました。アプリでユーザー エージェントの変更に依存せずに、新しい API を使用して適切なオーバーライド値を設定することをおすすめします。(I74500
  • ページの読み込み時に実行する JavaScript を挿入する API を追加します。WebViewCompat.addDocumentStartJavascript API を使用すると、アプリから WebView にスクリプトを挿入できます。WebView は、ページ スクリプトが実行される前に実行されます。この API を使用すると、アプリでスクリプトを有効にするオリジンのターゲット リストを指定して、スクリプトが目的のページでのみ実行されるようにできます。WebView.evaluateJavascript とは異なり、この API では、読み込み時に埋め込み iFrame でスクリプトを実行できます。(Ide063

バージョン 1.8

バージョン 1.8.0

2023 年 9 月 6 日

androidx.webkit:webkit:1.8.0 がリリースされました。バージョン 1.8.0 に含まれる commit については、こちらをご覧ください

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 に含まれる commit については、こちらをご覧ください

バージョン 1.8.0-beta01

2023 年 7 月 26 日

androidx.webkit:webkit:1.8.0-beta01 がリリースされました。1.8.0-alpha01 からの変更はありません。バージョン 1.8.0-beta01 に含まれる commit については、こちらをご覧ください

バージョン 1.8.0-alpha01

2023 年 6 月 7 日

androidx.webkit:webkit:1.8.0-alpha01 がリリースされました。バージョン 1.8.0-alpha01 に含まれる commit については、こちらをご覧ください

API の変更

  • 「外部提供」セクションをご覧ください。

外部からの協力

  • WebMessagePortCompat#postMessageJsReplyProxy#postMessageWebViewCompat#postWebMessageArrayBuffer を渡し、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 に含まれる commit については、こちらをご覧ください

1.6.0 以降の重要な変更

  • WebView画像のドラッグのサポートを追加しました。クラス ドキュメントに記載されているように、新しい DropDataContentProvider をアプリのマニフェストに追加することで、ユーザーが WebView から画像をドラッグできるようになります。
  • WebView が現在のプロセスに使用するベース ディレクトリを設定するために使用できる ProcessGlobalConfig#setDirectoryBasePaths(Context,File,File) API を追加しました。ProcessGlobalConfig のすべてのメソッドと同様に、このメソッドは、WebView の最初のインスタンスをインスタンス化する前に呼び出す必要があります。このメソッドは、WebView 設定を微調整する機能を Android フレームワークに提供するために追加されています。汎用アプリケーションでは、この方法の使用はおすすめしません。

バージョン 1.7.0-rc01

2023 年 5 月 10 日

androidx.webkit:webkit:1.7.0-rc01 がリリースされました。1.7.0-beta01 からの変更はありません。バージョン 1.7.0-rc01 に含まれる commit については、こちらをご覧ください。

バージョン 1.7.0-beta01

2023 年 4 月 5 日

androidx.webkit:webkit:1.7.0-beta01 がリリースされました。バージョン 1.7.0-beta01 に含まれる commit については、こちらをご覧ください

API の変更

  • フィーチャー トグルとメソッド名の軽微な変更を行い、setDirectoryBasePaths() が文字列ではなくファイルを受け入れるようになりました。(Ib0d0a

バージョン 1.7.0-alpha03

2023 年 3 月 8 日

androidx.webkit:webkit:1.7.0-alpha03 がリリースされました。バージョン 1.7.0-alpha03 に含まれる commit については、こちらをご覧ください

API の変更

  • WebView が現在のプロセスに使用するベース ディレクトリの設定に使用できる ProcessGlobalConfig#setDirectoryBasePath(String, String) API を追加しました。(Ibd1a1b/250553687

バグの修正

  • DexGuard の使用時にビルドエラーが発生する無効な ProGuard ルールを修正しました。(Ia65c2b/270034835

バージョン 1.7.0-alpha02

2023 年 2 月 8 日

androidx.webkit:webkit:1.7.0-alpha02 がリリースされました。バージョン 1.7.0-alpha02 に含まれる commit については、こちらをご覧ください

バグの修正

  • DropDataContentProvider のドキュメントに関するバグ。

バージョン 1.7.0-alpha01

2023 年 1 月 25 日

androidx.webkit:webkit:1.7.0-alpha01 がリリースされました。バージョン 1.7.0-alpha01 に含まれる commit については、こちらをご覧ください

新機能

  • WebView画像のドラッグが可能になります。新しい DropDataContentProvider をアプリのマニフェストに追加することで、ユーザーが WebView から画像をドラッグできるようになります。(05a1a6

バージョン 1.6

バージョン 1.6.1

2023 年 3 月 22 日

androidx.webkit:webkit:1.6.1 がリリースされました。バージョン 1.6.1 に含まれる commit については、こちらをご覧ください

バグの修正

  • ProGuard 解析エラーを修正しました。(Ia65c2

バージョン 1.6.0

2023 年 1 月 25 日

androidx.webkit:webkit:1.6.0 がリリースされました。バージョン 1.6.0 に含まれる commit については、こちらをご覧ください

1.5.0 以降の重要な変更

  • 新しい ProcessGlobalConfig API を追加しました。これによりアプリで、WebView の読み込み前に指定する必要のある構成設定(WebView データ ディレクトリ サフィックスなど)を提供できるようになります。この構成のセットアップと適用は、他のスレッドが WebView をプロセスに読み込むメソッドを呼び出す前に行う必要があります。そのため、アプリ起動時のできるだけ早い段階に組み込んでください。
  • 新しい CookieManagerCompat API を追加しました。これにより、新しい getCookieInfo メソッドで android.webkit.CookieManager が拡張され、特定の URL に設定されているすべての Cookie の属性をすべて取得できるようになります。この API は、Cookie の名前と値の属性のみを返す CookieManager の既存の getCookie API とは異なります。
  • WebSettingsCompat の新しいメソッドで、EnterpriseAuthenticationAppLinkPolicyWebView で管理者が設定した場合)の効果を有効または無効にすることや、現在の設定を取得することが可能になりました。この機能により、WebView で認証 URL を開く代わりに認証アプリを開くことができます。この機能は、エンタープライズ ポリシーで管理されていないデバイスには影響を及ぼしません。
  • 新しい APIWebSettingsCompat に追加します。これにより、アプリ パッケージ名を X-Requested-With ヘッダー経由で、許可リストに登録された送信元に明示的に送信できるようになります。このヘッダーは従来、WebView からのリクエストのたびに送信されていました。

バージョン 1.6.0-rc01

2023 年 1 月 11 日

androidx.webkit:webkit:1.6.0-rc01 がリリースされました。バージョン 1.6.0-rc01 に含まれる commit については、こちらをご覧ください。

バグの修正

  • 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 に含まれる commit については、こちらをご覧ください

API の変更

  • ProcessGlobalConfig が変更され、通常のコンストラクタと静的 apply メソッドが使用されるようになりました。apply メソッドはできるだけ早く、プロセスごとに 1 回だけ呼び出します。2 回以上呼び出すと IllegalStateException がスローされます。ProcessGlobalConfig オブジェクトでは、セッターを呼び出す回数に制限がなくなりました。(I456c3

バージョン 1.6.0-alpha03

2022 年 11 月 9 日

androidx.webkit:webkit:1.6.0-alpha03 がリリースされました。バージョン 1.6.0-alpha03 に含まれる commit については、こちらをご覧ください

新機能

  • ProcessGlobalConfig クラスを追加しました。これにより、ユーザーは WebView を読み込む前にプロセス グローバル構成を設定できます。WebView に含まれるプロセス グローバル構成パラメータの一部は、WebView の読み込み後に変更できません(WebView データ ディレクトリなど)。このクラスを使用すると、それらのパラメータをアプリで設定できます。この構成のセットアップと適用は、他のスレッドが WebView をプロセスに読み込むメソッドを呼び出す前に行う必要があります。そのため、アプリ起動時のできるだけ早い段階に組み込んでください。(I7c0e0b/250553687
  • アプリ パッケージ名を X-Requested-With ヘッダー経由で、許可リストに登録された送信元に明示的に送信できる新しい API を追加します。このヘッダーは従来、WebView からのリクエストのたびに送信されていました。(I0adfeb/226552535

API の変更

  • WebSettingsCompat#setAlgorithmicDarkeningAllowed API は WebView バージョン 105 以降、すべての Android バージョンでサポートされます。以前のバージョンの WebView では、この API は Android Q 以降でのみサポートされていました。したがって、この 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 に含まれる commit については、こちらをご覧ください

新機能

  • 新しい CookieManagerCompat クラスと、特定の URL に設定されているすべての Cookie のすべての属性を取得する getCookieInfo API を追加しました。この API は、Cookie の名前と値の属性のみを返す CookieManager の既存の getCookie API とは異なります。(I07365b/242161756

バージョン 1.6.0-alpha01

2022 年 8 月 24 日

androidx.webkit:webkit:1.6.0-alpha01 がリリースされました。バージョン 1.6.0-alpha01 に含まれる commit については、こちらをご覧ください

新機能

  • WebSettingsCompat に API を追加しました。これは、WebView で管理者が設定した場合に EnterpriseAuthenticationAppLinkPolicy の効果を有効または無効にできるようにするものです。この機能により、WebView は認証 URL を開く代わりに、認証アプリを開くことができます。この機能は、エンタープライズ ポリシーで管理されていないデバイスには影響を及ぼしません。

バージョン 1.5.0

バージョン 1.5.0

2022 年 8 月 24 日

androidx.webkit:webkit:1.5.0 がリリースされました。バージョン 1.5.0 に含まれる commit については、こちらをご覧ください。

1.4.0 以降の重要な変更

  • WebSettingsCompat の新しい setAlgorithmicDarkeningAllowed API は、以前の setForceDark API と setForceDarkStrategy API に代わるものです。SDK 33 以上(T)をターゲットとするアプリでは、この新しい API を使用する必要があります。以前の API はこれらのアプリに対して機能しなくなります。
  • 設定済みのプロキシを使用するための URL の許可リストは、setReverseBypassEnabledtrue に設定することで ProxyCofig.Builder から設定できるようになりました。その場合、他のすべての URL はそのプロキシをバイパスします。

バージョン 1.5.0-rc01

2022 年 8 月 10 日

androidx.webkit:webkit:1.5.0-rc01 がリリースされました。1.5.0-beta01 からの変更はありません。バージョン 1.5.0-rc01 に含まれる commit については、こちらをご覧ください

バージョン 1.5.0-beta01

2022 年 6 月 29 日

androidx.webkit:webkit:1.5.0-beta01 がリリースされました。バージョン 1.5.0-beta01 に含まれる commit については、こちらをご覧ください

API の変更

  • アルゴリズムによるダークニング関連の API に API レベル Q を必要とする旨アノテーションが付くようになりました。Q 以前の API レベルでは、ダークモードがデバイスで使用できないため、この API による効果はありません。(I0905e

バージョン 1.5.0-alpha01

2022 年 5 月 18 日

androidx.webkit:webkit:1.5.0-alpha01 がリリースされました。バージョン 1.5.0-alpha01 に含まれる commit については、こちらをご覧ください

新機能

  • WebViewCompat に新しい getVariationsHeader() メソッドを追加しました。このメソッドは、WebView によって送信される X-Client-Data ヘッダー値を取得します。戻り値は、base64 エンコードされた ClientVariations protobuf です。
  • targetSdk が 33 以上のアプリでアルゴリズムによるダークニングを許可 / 禁止するため、WebSettingsCompat に API を追加しました。(I29597

API の変更

  • 逆方向のバイパスを設定する新しいメソッドを ProxyCofig.Builder に追加しました。逆方向のバイパスを true に設定すると、バイパスリストに含まれる URL のみがプロキシ設定を使用するようになります。(I9eaa2b/168728599

バグの修正

  • ダークモードのドキュメントのスペルミスを修正しました。(I36ebfb/194343633
  • WebViewAssetLoader.Builder メソッドが意図せず順序に依存するバグを修正しました。(If420db/182196765

バージョン 1.4.0

バージョン 1.4.0

2020 年 12 月 16 日

androidx.webkit:webkit:1.4.0 がリリースされました。バージョン 1.4.0 に含まれる commit については、こちらをご覧ください

1.3.0 以降の主な変更

  • setSafeBrowsingWhitelist() に代わる新しい setSafeBrowsingAllowlist() API を追加しました。これにより、サポートが終了した API と同じ範囲の Android SDK バージョンと WebView バージョンをサポートしつつ、差別的な用語を避けるためにアプリのコードを更新できます。
  • setProxyOverride でフォールバック ルールが正しく適用されないバグを修正しました。

バージョン 1.4.0-rc02

2020 年 12 月 2 日

androidx.webkit:webkit:1.4.0-rc02 がリリースされました。バージョン 1.4.0-rc02 に含まれる commit については、こちらをご覧ください

バグの修正

  • setProxyOverride を使用したときにフォールバック ルールが正しく適用されないバグを修正しました。

バージョン 1.4.0-rc01

2020 年 11 月 11 日

androidx.webkit:webkit:1.4.0-rc01 がリリースされました。1.4.0-beta01 からの変更はありません。バージョン 1.4.0-rc01 に含まれる commit については、こちらをご覧ください。

バージョン 1.4.0-beta01

2020 年 10 月 14 日

androidx.webkit:webkit:1.4.0-beta01 がリリースされました。1.4.0-alpha01 からの変更はありません。バージョン 1.4.0-beta01 に含まれる commit については、こちらをご覧ください

バージョン 1.4.0-alpha01

2020 年 9 月 16 日

androidx.webkit:webkit:1.4.0-alpha01 がリリースされました。バージョン 1.4.0-alpha01 に含まれる commit については、こちらをご覧ください

API の変更

  • setSafeBrowsingWhitelist() に代わる新しい WebViewCompat#setSafeBrowsingAllowlist() API を追加しました。これにより、サポートが終了した API と同じ範囲の Android SDK バージョンと WebView バージョンをサポートしつつ、差別的な用語を避けるためにアプリのコードを更新できます。(I8d65d

バージョン 1.3.0

バージョン 1.3.0

2020 年 8 月 19 日

androidx.webkit:webkit:1.3.0 がリリースされました。バージョン 1.3.0 に含まれる commit については、こちらをご覧ください

1.2.0 以降の主な変更

  • ForceDarkStrategy API により WebView ダークニング(CSS / ウェブ コンテンツのダークニング対自動ダークニング)の制御が強化されました。
  • WebMessageListener API とその関連 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 に含まれる commit については、こちらをご覧ください

バグの修正

  • ローカルでの開発中にアプリを Android Studio Instant Run で開始した場合に WebMessageListener がクラッシュすることがある互換性の問題を修正しました。

バージョン 1.3.0-rc01

2020 年 6 月 24 日

androidx.webkit:webkit:1.3.0-rc01 がリリースされました。1.3.0-beta01 からの変更はありません。バージョン 1.3.0-rc01 に含まれる commit については、こちらをご覧ください

バージョン 1.3.0-beta01

2020 年 6 月 10 日

androidx.webkit:webkit:1.3.0-beta01 がリリースされました。バージョン 1.3.0-beta01 に含まれる commit については、こちらをご覧ください

新機能

  • WebView ダークニング(CSS / ウェブ コンテンツのダークニング対自動ダークニング)を制御する ForceDarkStrategy API。
  • WebMessageListener API は、ウェブ コンテンツと WebView 埋め込みアプリ間の通信を確立するためのシンプルで安全なメカニズムを提供します。
  • MultiProcessEnabled API を使用して、WebView がマルチプロセス モードで実行されているかどうかを確認します。

バージョン 1.3.0-alpha03

2020 年 5 月 27 日

androidx.webkit:webkit:1.3.0-alpha03 がリリースされました。バージョン 1.3.0-alpha03 に含まれる commit については、こちらをご覧ください

API の変更

  • addWebMessageListener メソッドが、許可されているオリジンのルールの Set<String> を受け取るようになりました(以前は List<String> でした)。

バージョン 1.3.0-alpha02

2020 年 4 月 29 日

androidx.webkit:webkit:1.3.0-alpha02 がリリースされました。バージョン 1.3.0-alpha02 に含まれる commit については、こちらをご覧ください

新機能

  • MultiProcessEnabled API を使用して、WebView がマルチプロセス モードで実行されているかどうかを確認します。

API の変更

  • すべてのダーク ストラテジー定数に DARK_STRATEGY プレフィックスが付きました。

バージョン 1.3.0-alpha01

2020 年 4 月 15 日

androidx.webkit:webkit:1.3.0-alpha01 がリリースされました。バージョン 1.3.0-alpha01 に含まれる commit については、こちらをご覧ください

新機能

  • WebView ダークニング(CSS/ウェブ コンテンツのダークニング対自動ダークニング)を制御する ForceDarkStrategy API。
  • WebMessageListener API は、ウェブ コンテンツと WebView 埋め込みアプリ間の通信を確立するためのシンプルで安全なメカニズムを提供します。

バージョン 1.2.0

バージョン 1.2.0

2020 年 3 月 4 日

androidx.webkit:webkit:1.2.0 がリリースされました。バージョン 1.2.0 に含まれる commit については、こちらをご覧ください

1.1.0 以降の主な変更

  • WebView をダークモードでレンダリングするかどうかを制御する ForceDark API を追加しました。

バージョン 1.2.0-rc01

2020 年 2 月 19 日

androidx.webkit:webkit:1.2.0-rc01 がリリースされました。1.2.0-beta01 からの変更はありません。バージョン 1.2.0-rc01 に含まれる commit については、こちらをご覧ください

バージョン 1.2.0-beta01

2020 年 2 月 5 日

androidx.webkit:webkit:1.2.0-beta01 がリリースされました。1.2.0-alpha01 からの変更はありません。バージョン 1.2.0-beta01 に含まれる commit については、こちらをご覧ください

バージョン 1.2.0-alpha01

2019 年 12 月 18 日

androidx.webkit:webkit:1.2.0-alpha01 がリリースされました。バージョン 1.2.0-alpha01 に含まれる commit については、こちらをご覧ください

新機能

  • WebView をダークモードでレンダリングするかどうかを制御する ForceDark API。

バージョン 1.1.0

バージョン 1.1.0

2019 年 11 月 7 日

androidx.webkit:webkit:1.1.0 がリリースされました。バージョン 1.1.0 に含まれる commit については、こちらをご覧ください

1.0.0 以降の重要な変更

  • setWebViewClient()setWebChromeClient() を補完する Getter API
  • アプリの WebView のネットワーク リクエスト プロキシを設定する ProxyController API
  • リクエストのインターセプトを介してアプリデータ ディレクトリからの APK アセット、リソース、ファイルの読み込みを簡素化する WebViewAssetLoader API。これにより、CORS を無効にすることなくウェブリソースとローカル リソースにアクセスできます。
  • デバッグ目的で WebView トレース情報を収集する TracingController API
  • WebView レンダラ サービスを管理し、動作の不完全なコンテンツによって WebView レンダラが応答しなくなったことを検出する、RenderProcess API
  • 既存の API を更新し、null 可能性アノテーション(@NonNull@Nullable)とスレッド アノテーション(@UiThread@WorkerThread)を追加しました。

バージョン 1.1.0-rc01

2019 年 10 月 9 日

androidx.webkit:webkit:1.1.0-rc01 がリリースされました。バージョン 1.1.0-rc01 に含まれる commit については、こちらをご覧ください

バグの修正

  • null クライアントが渡されると setWebViewRenderProcessClient() がクラッシュすることがある問題を修正しました。

バージョン 1.1.0-beta01

2019 年 9 月 5 日

androidx.webkit:webkit:1.1.0-beta01 がリリースされました。このバージョンに含まれる commit については、こちらをご覧ください。

新機能

  • アプリのデータ ディレクトリからファイルを読み込むための、WebViewAssetLoader の新しい InternalStoragePathHandler

API の変更

  • ProxyConfig#getProxyRules()ProxyRule インスタンスの変更不可能なリストを返すようになりました。これは、スキーム フィルタとそれに対応するプロキシ URL を保持する新しいクラスです。

バグの修正

  • ファイルパスから MIME タイプを推測できない場合、WebViewAssetLoader はデフォルトで(null ではなく)「text/plain」MIME タイプに設定されます。
  • パス名に特殊文字を含むファイルを読み込んだときに、WebViewAssetLoaderNullPointerException をスローしなくなりました。

バージョン 1.1.0-alpha02

2019 年 8 月 7 日

androidx.webkit:webkit:1.1.0-alpha02 がリリースされました。このバージョンに含まれる commit については、こちらをご覧ください。

新機能

  • アプリがカスタムパス処理機能を作成できるように、WebViewAssetLoaderPathHandler インターフェースを公開します。

API の変更

  • WebViewAssetLoader は、サブクラス化されることを意図しないため、最終クラスになりました。
  • WebViewAssetLoader#PathHandler 実装が公開され最終版になりました。
  • ProxyConfig メソッド名に小さな変更を加えました。
  • ProxyController: サーバーに直接接続するための新しいメソッド addDirect()addDirect(String) を追加し、DIRECT String を削除しました。
  • 既存の API を更新し、null 可能性アノテーション(@NonNull@Nullable)とスレッド アノテーション(@UiThread@WorkerThread)を追加しました。

バージョン 1.1.0-alpha01

2019 年 5 月 7 日

androidx.webkit:webkit:1.1.0-alpha01 がリリースされました。このバージョンに含まれる commit については、こちらをご覧ください。

新機能

  • setWebViewClient()setWebChromeClient() を補完する Getter API
  • アプリの WebView のネットワーク リクエスト プロキシを設定する ProxyController API
  • リクエストのインターセプトを介して APK アセットとリソースの読み込みを簡素化する AssetLoader API。CORS を無効にすることなくウェブリソースにアクセスできます。
  • デバッグ目的で WebView トレース情報を収集する TracingController API
  • WebView レンダラ サービスを管理し、動作の不完全なコンテンツによって WebView レンダラが応答しなくなったことを検出する、RenderProcess API

バグの修正

  • 既存の API のドキュメント形式を若干修正しました。