Webkit
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.
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 dariWebView
dengan menambahkanDropDataContentProvider
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 diCookieManager
yang hanya menampilkan atribut nama dan nilai cookie tersebut. WebSettingsCompat
memiliki metode baru untuk mengaktifkan/menonaktifkan efekEnterpriseAuthenticationAppLinkPolicy
jika disetel oleh admin diWebView
, 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 headerX-Requested-With
ke origin yang diizinkan. Header biasanya dikirim pada setiap permintaan dariWebView
.
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
diWebViewFeature.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 menampilkanIllegalStateException
jika dipanggil lebih dari sekali. ObjekProcessGlobalConfig
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 memuatWebView
.WebView
memiliki beberapa parameter konfigurasi global proses yang tidak dapat diubah setelahWebView
dimuat (misalnya direktori dataWebView
). 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 memuatWebView
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 untukWebView
versi 105 dan yang lebih baru. VersiWebView
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 dengangetCookieInfo
API yang mengambil semua atribut untuk semua cookie yang ditetapkan pada URL tertentu. Ini berbeda dengangetCookie
API yang ada diCookieManager
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 efekEnterpriseAuthenticationAppLinkPolicy
jika disetel oleh admin diWebView
. Fitur ini memungkinkanWebView
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 diWebSettingsCompat
menggantikansetForceDark
API dansetForceDarkStrategy
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 menyetelsetReverseBypassEnabled
ketrue
. 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 diWebViewCompat
untuk mendapatkan nilai header X-Client-Data yang dikirim olehWebView
. 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 menggantisetSafeBrowsingWhitelist()
. 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 menggantikansetSafeBrowsingWhitelist()
. 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 menerimaSet<String>
aturan asal yang diizinkan (sebelumnyaList<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 penggelapanWebView
(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 diWebViewAssetLoader
untuk memuat file dari direktori data aplikasi.
Perubahan API
ProxyConfig#getProxyRules()
sekarang menampilkan daftar instanceProxyRule
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 menampilkanNullPointerException
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 antarmukaPathHandler
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
: menambahkanaddDirect()
danaddDirect(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()
dansetWebChromeClient()
- 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.