JavascriptEngine

  
Mengaktifkan aplikasi Android Anda untuk mengevaluasi JavaScript.
Update Terbaru Rilis Stabil Kandidat Rilis Rilis Beta Rilis Alfa
1 November 2023 - - 1.0.0-beta01 -

Mendeklarasikan dependensi

Untuk menambahkan dependensi pada JavascriptEngine, 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.javascriptengine:javascriptengine:1.0.0-beta01"
}

Kotlin

dependencies {
    implementation("androidx.javascriptengine:javascriptengine:1.0.0-beta01")
}

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.0

Versi 1.0.0-beta01

1 November 2023

androidx.javascriptengine:javascriptengine:1.0.0-beta01 dirilis. Versi 1.0.0-beta01 berisi commit ini.

  • Tidak ada perubahan sejak 1.0.0-alpha07

Versi 1.0.0-alpha07

18 Oktober 2023

androidx.javascriptengine:javascriptengine:1.0.0-alpha07 dirilis. Versi 1.0.0-alpha07 berisi commit ini.

Fitur Baru

  • API baru diperkenalkan untuk memungkinkan aplikasi mendaftarkan callback guna menangani error isolasi.

Perubahan API

  • Mengganti nama DEFAULT_MAX_HEAP_SIZE menjadi AUTOMATIC_MAX_HEAP_SIZE. (I6d303)
  • Mengganti nama FileDescriptorIoException menjadi DataInputException. (Iba4eb)
  • Mengganti nama DEFAULT_ISOLATE_HEAP_SIZE menjadi DEFAULT_MAX_HEAP_SIZE. (Iaa16f)
  • Menghapus metode getSource dan getTrace konsol non-fungsi. (I4b7a2)
  • Memperlihatkan FileDescriptorIoException (Ic44e6)
  • Izinkan aplikasi mendaftarkan callback untuk menangani error isolasi. (Iad25f)

Versi 1.0.0-alpha06

4 Oktober 2023

androidx.javascriptengine:javascriptengine:1.0.0-alpha06 dirilis. Versi 1.0.0-alpha06 berisi commit ini.

Fitur Baru

  • API baru diperkenalkan untuk mengevaluasi JavaScript dari ParcelFileDescriptor/AssetFileDescriptor tanpa perlu mengonversi sumber menjadi String. Class JavaScriptIsolate dibuat aman untuk thread.

Perubahan API

  • Ubah provideNamedData untuk menampilkan pengecualian, bukan menampilkan salah. (I8909a)
  • Menambahkan API untuk mengevaluasi JavaScript melalui Afds dan Pfds (I03e3a)
  • Membuat subclass MemoryLimitExceededException dan SandboxDeadException IsolateTerminatedException (Icf359)
  • Menghapus evaluateJavaScriptAsync(@NonNull byte[] code) API yang ditampilkan kepada publik (I4b3ac)

Perbaikan Bug

  • Buat thread JavaScriptIsolate aman. (Ib28e0)

Versi 1.0.0-alpha05

5 April 2023

androidx.javascriptengine:javascriptengine:1.0.0-alpha05 dirilis. Versi 1.0.0-alpha05 berisi commit ini.

Perubahan API

  • Evaluasi dan hasil tidak lagi dibatasi oleh batas Binder (I13b1d)
  • Menambahkan callback untuk menangani pesan isolasi isolasi (I11725, Ic1c11)

Versi 1.0.0-alpha04

22 Februari 2023

androidx.javascriptengine:javascriptengine:1.0.0-alpha04 dirilis. Versi 1.0.0-alpha04 berisi commit ini.

Perbaikan Bug

  • Memperbaiki kasus langka NullPointerException yang disebabkan saat proses yang di-sandbox berhenti.

Versi 1.0.0-alpha03

7 Desember 2022

androidx.javascriptengine:javascriptengine:1.0.0-alpha03 dirilis. Versi 1.0.0-alpha03 berisi commit ini.

Fitur Baru

  • Memuat error kehabisan memori pada isolasi yang bertanggung jawab, bukan membuat error pada seluruh sandbox. Setelah kehabisan memori, isolasi tidak dapat digunakan untuk evaluasi lebih lanjut.
  • Saat ini, resource yang disimpan isolasi tidak dikosongkan hingga sandbox ditutup. Perilaku pengosongan resource ini dapat berubah di versi library terbaru.

Perubahan API

  • Menampilkan MemoryLimitExceededException saat evaluasi menyebabkan isolasi kehabisan memori.(I336ca)

Versi 1.0.0-alpha02

5 Oktober 2022

androidx.javascriptengine:javascriptengine:1.0.0-alpha02 dirilis. Versi 1.0.0-alpha02 berisi commit ini.

Fitur Baru

  • Menambahkan JavaScriptSandbox#isSupported untuk memeriksa apakah sistem mendukung sandbox JavaScript.

Perubahan API

  • Menampilkan SandboxUnsupportedException jika JavaScriptSandbox tidak dapat dibuat karena kurangnya dukungan sistem. (I0dcd6)

Versi 1.0.0-alpha01

10 Agustus 2022

androidx.javascriptengine:javascriptengine:1.0.0-alpha01 dirilis. Versi 1.0.0-alpha01 berisi commit ini.

Fitur Baru

  • Kami telah menambahkan dukungan eksperimental untuk JavaScriptSandbox dan JavaScriptIsolate agar klien dapat mengevaluasi JavaScript di lingkungan yang aman dan dibatasi. Ini adalah area pengembangan aktif; API ini dapat berubah sewaktu-waktu tanpa pemberitahuan.

  • Harap laporkan permintaan fitur dan bug komponen JavascriptEngine kami.