Webkit

Berfungsi dengan API WebView modern di Android 5 dan yang lebih baru.
Update Terbaru Rilis Stabil Kandidat Rilis Rilis Beta Rilis Alfa
8 Februari 2023 1.6.0 - - 1.7.0-alpha02

Mendeklarasikan dependensi

Untuk menambahkan dependensi pada Webkit, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk mengetahui informasi selengkapnya.

Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle bagi aplikasi atau modul Anda:

Groovy

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

Kotlin

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

Untuk informasi dependensi selengkapnya, lihat Menambahkan dependensi build.

Masukan

Masukan Anda membantu meningkatkan kualitas Jetpack. Beri tahu kami jika Anda menemukan masalah baru atau mempunyai masukan untuk meningkatkan kualitas library ini. Harap periksa masalah yang sudah diketahui dalam library ini sebelum membuat laporan baru. Anda dapat memberikan suara untuk masalah yang sudah diketahui dengan mengklik tombol bintang.

Laporkan masalah baru

Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.

Versi 1.7

Versi 1.7.0-alpha02

8 Februari 2023

androidx.webkit:webkit:1.7.0-alpha02 dirilis. Versi 1.7.0-alpha02 berisi commit ini.

Perbaikan Bug

  • Bug dokumentasi untuk DropDataContentProvider.

Versi 1.7.0-alpha01

25 Januari 2023

androidx.webkit:webkit:1.7.0-alpha01 dirilis. Versi 1.7.0-alpha01 berisi commit ini.

Fitur Baru

  • Kami menambahkan dukungan untuk penarikan Image di WebView. Anda dapat memungkinkan pengguna untuk menarik gambar dari WebView dengan menambahkan DropDataContentProvider baru ke manifes aplikasi Anda. (05a1a6)

Versi 1.6

Versi 1.6.0

25 Januari 2023

androidx.webkit:webkit:1.6.0 dirilis. Versi 1.6.0 berisi commit ini.

Perubahan penting sejak versi 1.5.0

  • ProcessGlobalConfig API baru telah ditambahkan untuk memungkinkan aplikasi menyediakan setelan konfigurasi yang perlu ditetapkan sebelum memuat WebView, seperti akhiran direktori data WebView. Konfigurasi harus disiapkan dan diterapkan sesegera mungkin selama startup aplikasi untuk memastikannya terjadi sebelum thread lain dapat memanggil metode yang memuat WebView ke dalam proses.
  • CookieManagerCompat API baru telah ditambahkan untuk memperluas android.webkit.CookieManager dengan metode getCookieInfo baru, yang mengambil semua atribut untuk semua cookie yang ditetapkan di URL tertentu. Hal ini berbeda dengan getCookie API yang ada di CookieManager yang hanya menampilkan atribut nama dan nilai cookie tersebut.
  • WebSettingsCompat memiliki metode baru untuk mengaktifkan/menonaktifkan efek EnterpriseAuthenticationAppLinkPolicy jika disetel oleh admin di WebView, dan untuk mendapatkan setelan saat ini. Fitur ini memungkinkan WebView membuka Aplikasi autentikasi, bukan membuka URL autentikasi. Fitur ini tidak berpengaruh pada perangkat yang tidak dikelola oleh kebijakan perusahaan.
  • Menambahkan API baru ke WebSettingsCompat untuk memungkinkan aplikasi secara eksplisit mengirim nama paket aplikasi di header X-Requested-With ke origin yang diizinkan. Header biasanya dikirim pada setiap permintaan dari WebView.

Versi 1.6.0-rc01

11 Januari 2023

androidx.webkit:webkit:1.6.0-rc01 dirilis. Versi 1.6.0-rc01 berisi commit ini.

Perbaikan Bug

  • Memperbaiki NullPointerException di WebViewFeature.isStartupFeatureSupported(Context, String) saat berjalan di SDK < L. (Ic7292)

Versi 1.6.0-beta01

7 Desember 2022

androidx.webkit:webkit:1.6.0-beta01 dirilis. Versi 1.6.0-beta01 berisi commit ini.

Perubahan API

  • ProcessGlobalConfig telah diubah untuk menggunakan konstruktor normal dan metode penerapan statis. Metode penerapan hanya boleh dipanggil sekali per proses, sesegera mungkin, dan akan menampilkan IllegalStateException jika dipanggil lebih dari sekali. Objek ProcessGlobalConfig tidak lagi memiliki batasan terkait berapa kali penyetel dapat dipanggil. (I456c3)

Versi 1.6.0-alpha03

9 November 2022

androidx.webkit:webkit:1.6.0-alpha03 dirilis. Versi 1.6.0-alpha03 berisi commit ini.

Fitur Baru

  • Menambahkan class ProcessGlobalConfig yang memungkinkan pengguna menyetel konfigurasi global proses sebelum memuat WebView. WebView memiliki beberapa parameter konfigurasi global proses yang tidak dapat diubah setelah WebView dimuat (misalnya direktori data WebView). Class ini memungkinkan aplikasi menetapkan parameter ini. Konfigurasi harus disiapkan dan diterapkan sesegera mungkin selama startup aplikasi untuk memastikannya terjadi sebelum thread lain dapat memanggil metode yang memuat WebView ke dalam proses. (I7c0e0, b/250553687)
  • Menambahkan API baru untuk memungkinkan aplikasi secara eksplisit mengirim nama paket aplikasi di header X-Requested-With ke origin yang diizinkan. Header biasanya dikirim pada setiap permintaan dari WebView. (I0adfe, b/226552535)

Perubahan API

  • API WebSettingsCompat#setAlgorithmicDarkeningAllowed didukung di semua versi Android untuk WebView versi 105 dan yang lebih baru. Versi WebView sebelumnya hanya mendukung API di Android Q dan versi yang lebih baru. Akibatnya, API ini tidak lagi ditandai @RequiresApi(Build.VERSION_CODES.Q). (I3ac1d)

Versi 1.6.0-alpha02

24 Oktober 2022

androidx.webkit:webkit:1.6.0-alpha02 dirilis. Versi 1.6.0-alpha02 berisi commit ini.

Fitur Baru

  • Menambahkan class CookieManagerCompat baru bersama dengan getCookieInfo API yang mengambil semua atribut untuk semua cookie yang ditetapkan pada URL tertentu. Ini berbeda dengan getCookie API yang ada di CookieManager yang hanya menampilkan atribut nama dan nilai cookie tersebut. (I07365, b/242161756)

Versi 1.6.0-alpha01

24 Agustus 2022

androidx.webkit:webkit:1.6.0-alpha01 dirilis. Versi 1.6.0-alpha01 berisi commit ini.

Fitur Baru

  • Menambahkan API di WebSettingsCompat untuk mengaktifkan/menonaktifkan efek EnterpriseAuthenticationAppLinkPolicy jika disetel oleh admin di WebView. Fitur ini memungkinkan WebView membuka Aplikasi autentikasi, bukan membuka URL autentikasi. Fitur ini tidak berpengaruh pada perangkat yang tidak dikelola oleh kebijakan perusahaan.

Versi 1.5.0

Versi 1.5.0

24 Agustus 2022

androidx.webkit:webkit:1.5.0 dirilis. Versi 1.5.0 berisi commit ini.

Perubahan penting sejak versi 1.4.0

  • setAlgorithmicDarkeningAllowed API baru di WebSettingsCompat menggantikan setForceDark API dan setForceDarkStrategy API lama. Aplikasi yang menargetkan SDK 33 dan yang lebih tinggi (T) harus menggunakan API baru, karena API lama tidak akan lagi berpengaruh pada aplikasi tersebut.
  • Daftar URL yang diizinkan untuk menggunakan proxy yang dikonfigurasi sekarang dapat disetel melalui ProxyCofig.Builder dengan menyetel setReverseBypassEnabled ke true. Saat perubahan ini berlaku, semua URL lain akan mengabaikan proxy yang dikonfigurasi.

Versi 1.5.0-rc01

10 Agustus 2022

androidx.webkit:webkit:1.5.0-rc01 dirilis tanpa perubahan sejak 1.5.0-beta01. Versi 1.5.0-rc01 berisi commit ini.

Versi 1.5.0-beta01

29 Juni 2022

androidx.webkit:webkit:1.5.0-beta01 dirilis. Versi 1.5.0-beta01 berisi commit ini.

Perubahan API

  • API terkait Penggelapan Algoritmis kini dianotasi untuk memerlukan API level Q. API ini tidak akan berpengaruh pada API level < Q, karena tema gelap bukanlah opsi pada perangkat tersebut. (I0905e)

Versi 1.5.0-alpha01

18 Mei 2022

androidx.webkit:webkit:1.5.0-alpha01 dirilis. Versi 1.5.0-alpha01 berisi commit ini.

Fitur Baru

  • Menambahkan metode getVariationsHeader() baru di WebViewCompat untuk mendapatkan nilai header X-Client-Data yang dikirim oleh WebView. Nilai yang ditampilkan akan berupa protobuf ClientVariations yang dienkode base64.
  • Menambahkan API pada WebSettingsCompat guna mengizinkan/melarang penggelapan algoritmis untuk aplikasi dengan targetSdk >= 33. (I29597)

Perubahan API

  • Menambahkan metode baru di ProxyCofig.Builder untuk menetapkan pengabaian terbalik. Menyetel pengabaian balik ke benar (true) berarti hanya URL dalam daftar pengabaian yang akan menggunakan setelan proxy. (I9eaa2, b/168728599)

Perbaikan Bug

  • Memperbaiki kesalahan ketik dalam dokumentasi tema gelap. (I36ebf, b/194343633)
  • Memperbaiki bug ketika metode WebViewAssetLoader.Builder tidak sengaja bergantung pada urutan. (If420d, b/182196765)

Versi 1.4.0

Versi 1.4.0

16 Desember 2020

androidx.webkit:webkit:1.4.0 dirilis. Versi 1.4.0 berisi commit ini.

Perubahan utama sejak versi 1.3.0

  • Menambahkan setSafeBrowsingAllowlist() API baru untuk mengganti setSafeBrowsingWhitelist(). Hal ini membantu aplikasi memperbarui kode untuk menghindari penggunaan terminologi non-inklusif, dengan tetap mendukung rentang versi Android SDK dan WebView yang sama seperti API yang tidak digunakan lagi.
  • Memperbaiki bug dalam setProxyOverride yang menyebabkan aturan penggantian tidak diterapkan dengan benar.

Versi 1.4.0-rc02

2 Desember 2020

androidx.webkit:webkit:1.4.0-rc02 dirilis. Versi 1.4.0-rc02 berisi commit ini.

Perbaikan Bug

  • Memperbaiki aturan penggantian yang tidak diterapkan dengan benar saat menggunakan setProxyOverride.

Versi 1.4.0-rc01

11 November 2020

androidx.webkit:webkit:1.4.0-rc01 dirilis tanpa perubahan sejak 1.4.0-beta01. Versi 1.4.0-rc01 berisi commit ini.

Versi 1.4.0-beta01

14 Oktober 2020

androidx.webkit:webkit:1.4.0-beta01 dirilis tanpa perubahan sejak 1.4.0-alpha01. Versi 1.4.0-beta01 berisi commit ini.

Versi 1.4.0-alpha01

16 September 2020

androidx.webkit:webkit:1.4.0-alpha01 dirilis. Versi 1.4.0-alpha01 berisi commit ini.

Perubahan API

  • Menambahkan WebViewCompat#setSafeBrowsingAllowlist() baru untuk menggantikan setSafeBrowsingWhitelist(). Tindakan ini membantu aplikasi memperbarui kodenya untuk menghindari penggunaan terminologi non-inklusif, sambil tetap mendukung rentang versi Android SDK dan WebView yang sama seperti API yang tidak digunakan lagi. (I8d65d)

Versi 1.3.0

Versi 1.3.0

19 Agustus 2020

androidx.webkit:webkit:1.3.0 dirilis. Versi 1.3.0 berisi commit ini.

Perubahan utama sejak versi 1.2.0

  • ForceDarkStrategy API memberikan lebih banyak kontrol pada penggelapan WebView (penggelapan CSS/konten web dibandingkan dengan penggelapan otomatis).
  • WebMessageListener dan API terkait menyediakan mekanisme yang sederhana dan aman untuk membuat komunikasi antara konten web dan aplikasi penyemat WebView.
  • isMultiProcessEnabled API untuk memeriksa apakah WebView berjalan dalam mode multi-proses. Ini mungkin dimulai di Android O dan berarti konten web dirender dalam proses perender dengan sandbox yang terpisah dari proses aplikasi. Perender dengan sandbox ini dapat dibagikan ke WebView lain dalam aplikasi yang sama, tetapi tidak dibagikan ke proses aplikasi lain.

Versi 1.3.0-rc02

5 Agustus 2020

androidx.webkit:webkit:1.3.0-rc02 dirilis. Versi 1.3.0-rc02 berisi commit ini.

Perbaikan Bug

  • Jika aplikasi Anda dimulai dengan dijalankannya Android Studio secara instan, perbaikan ini akan menangani masalah kompatibilitas saat WebMessageListener terkadang mengalami error selama pengembangan lokal.

Versi 1.3.0-rc01

24 Juni 2020

androidx.webkit:webkit:1.3.0-rc01 dirilis tanpa perubahan sejak 1.3.0-beta01. Versi 1.3.0-rc01 berisi commit ini.

Versi 1.3.0-beta01

10 Juni 2020

androidx.webkit:webkit:1.3.0-beta01 dirilis. Versi 1.3.0-beta01 berisi commit ini.

Fitur Baru

  • ForceDarkStrategy API untuk mengontrol penggelapan WebView (penggelapan CSS/konten web dibandingkan penggelapan otomatis).
  • WebMessageListener API menyediakan mekanisme yang sederhana dan aman untuk membangun komunikasi antara konten web dan aplikasi penyemat WebView.
  • MultiProcessEnabled API untuk memeriksa apakah WebView berjalan dalam mode multi-proses.

Versi 1.3.0-alpha03

27 Mei 2020

androidx.webkit:webkit:1.3.0-alpha03 dirilis. Versi 1.3.0-alpha03 berisi commit ini.

Perubahan API

  • Metode addWebMessageListener kini menerima Set<String> aturan asal yang diizinkan (sebelumnya List<String>).

Versi 1.3.0-alpha02

29 April 2020

androidx.webkit:webkit:1.3.0-alpha02 dirilis. Versi 1.3.0-alpha02 berisi commit ini.

Fitur Baru

  • MultiProcessEnabled API untuk memeriksa apakah WebView berjalan dalam mode multi-proses.

Perubahan API

  • Semua konstanta strategi gelap sekarang diberi awalan dengan DARK_STRATEGY.

Versi 1.3.0-alpha01

15 April 2020

androidx.webkit:webkit:1.3.0-alpha01 dirilis. Versi 1.3.0-alpha01 berisi commit ini.

Fitur Baru

  • ForceDarkStrategy API untuk mengontrol penggelapan WebView (penggelapan CSS/konten web dibandingkan dengan penggelapan otomatis).
  • WebMessageListener API menyediakan mekanisme yang sederhana dan aman untuk membangun komunikasi antara konten web dan aplikasi penyemat WebView.

Versi 1.2.0

Versi 1.2.0

4 Maret 2020

androidx.webkit:webkit:1.2.0 dirilis. Versi 1.2.0 berisi commit ini.

Perubahan utama sejak versi 1.1.0

  • Menambahkan ForceDark API untuk mengontrol apakah WebView seharusnya dirender dalam mode gelap.

Versi 1.2.0-rc01

19 Februari 2020

androidx.webkit:webkit:1.2.0-rc01 dirilis tanpa perubahan sejak 1.2.0-beta01. Versi 1.2.0-rc01 berisi commit ini.

Versi 1.2.0-beta01

5 Februari 2020

androidx.webkit:webkit:1.2.0-beta01 dirilis tanpa perubahan sejak 1.2.0-alpha01. Versi 1.2.0-beta01 berisi commit ini.

Versi 1.2.0-alpha01

18 Desember 2019

androidx.webkit:webkit:1.2.0-alpha01 dirilis. Versi 1.2.0-alpha01 berisi commit ini.

Fitur baru

  • ForceDark API untuk mengontrol apakah WebView harus dirender dalam mode gelap.

Versi 1.1.0

Versi 1.1.0

7 November 2019

androidx.webkit:webkit:1.1.0 dirilis. Versi 1.1.0 berisi commit ini.

Perubahan penting sejak versi 1.0.0

  • Getter API untuk melengkapi setWebViewClient() dan setWebChromeClient().
  • ProxyController API untuk menetapkan proxy permintaan jaringan bagi WebView aplikasi.
  • WebViewAssetLoader API untuk menyederhanakan pemuatan aset, resource, dan file APK dari direktori data aplikasi melalui intersepsi permintaan. Hal ini memungkinkan akses ke resource web dan lokal tanpa perlu menonaktifkan CORS.
  • TracingController API untuk mengumpulkan informasi pelacakan WebView untuk keperluan proses debug.
  • RenderProcess API untuk mengelola layanan perender WebView dan mendeteksi saat konten berperilaku buruk yang menyebabkan perender WebView menjadi tidak responsif.
  • Mengupdate API yang sudah ada untuk menyertakan anotasi nullability (@NonNull, @Nullable) dan thread (@UiThread, @WorkerThread).

Versi 1.1.0-rc01

9 Oktober 2019

androidx.webkit:webkit:1.1.0-rc01 dirilis. Versi 1.1.0-rc01 berisi commit ini.

Perbaikan bug

  • Memperbaiki masalah yang menyebabkan setWebViewRenderProcessClient() mengalami error jika menerima penerusan klien null.

Versi 1.1.0-beta01

5 September 2019

androidx.webkit:webkit:1.1.0-beta01 dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.

Fitur baru

  • InternalStoragePathHandler baru di WebViewAssetLoader untuk memuat file dari direktori data aplikasi.

Perubahan API

  • ProxyConfig#getProxyRules() sekarang menampilkan daftar instance ProxyRule yang tidak dapat dimodifikasi, yang merupakan class baru untuk menampung filter skema dan URL proxy terkaitnya.

Perbaikan bug

  • WebViewAssetLoader ditetapkan secara default ke jenis MIME "text/plain" (bukan null) jika jenis MIME tidak dapat ditebak dari jalur filenya.
  • WebViewAssetLoader tidak lagi menampilkan NullPointerException saat memuat file yang menggunakan karakter khusus dalam nama jalurnya.

Versi 1.1.0-alpha02

7 Agustus 2019

androidx.webkit:webkit:1.1.0-alpha02 dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.

Fitur baru

  • WebViewAssetLoader menampilkan antarmuka PathHandler yang memungkinkan aplikasi membuat fungsionalitas penanganan jalur kustom.

Perubahan API

  • WebViewAssetLoader sekarang adalah class final, karena tidak dimaksudkan untuk dijadikan subclass.
  • Implementasi WebViewAssetLoader#PathHandler kini bersifat publik dan final.
  • Perubahan minor pada nama metode ProxyConfig.
  • ProxyController: menambahkan addDirect() dan addDirect(String) sebagai metode baru untuk terhubung langsung ke server; menghapus String DIRECT.
  • Mengupdate API yang sudah ada untuk menyertakan anotasi nullability (@NonNull, @Nullable) dan thread (@UiThread, @WorkerThread).

Versi 1.1.0-alpha01

7 Mei 2019

androidx.webkit:webkit:1.1.0-alpha01 dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.

Fitur baru

  • Getter API untuk melengkapi setWebViewClient() dan setWebChromeClient()
  • ProxyController API untuk menetapkan proxy permintaan jaringan bagi WebView aplikasi.
  • AssetLoader API untuk menyederhanakan pemuatan aset dan resource APK melalui intersepsi permintaan, sehingga memungkinkan akses ke resource web tanpa menonaktifkan CORS.
  • TracingController API untuk mengumpulkan informasi pelacakan WebView untuk keperluan proses debug.
  • RenderProcess API untuk mengelola layanan perender WebView dan mendeteksi saat konten berperilaku buruk yang menyebabkan perender WebView menjadi tidak responsif.

Perbaikan bug

  • Perbaikan minor pada pemformatan dokumentasi untuk API yang sudah ada.