JavascriptEngine

  
Mengaktifkan aplikasi Android Anda untuk mengevaluasi JavaScript.
Update Terbaru Rilis Stabil Kandidat Rilis Rilis Beta Rilis Alfa
26 Maret 2025 - 1.0.0-rc01 - -

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-rc01"
}

Kotlin

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

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-rc01

26 Maret 2025

androidx.javascriptengine:javascriptengine:1.0.0-rc01 dirilis tanpa perubahan penting sejak versi beta terakhir. Versi 1.0.0-rc01 berisi commit ini.

Versi 1.0.0-beta01

1 November 2023

androidx.javascriptengine:javascriptengine:1.0.0-beta01 dirilis tanpa perubahan penting sejak versi alfa terakhir. Versi 1.0.0-beta01 berisi commit ini.

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

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 yang tidak berfungsi. (I4b7a2)
  • Menampilkan FileDescriptorIoException (Ic44e6)
  • Mengizinkan aplikasi mendaftarkan callback untuk menangani error terisolasi. (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

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

Perbaikan Bug

  • Membuat 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 konsol 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.