JavascriptEngine

  
Consenti alla tua app per Android di valutare JavaScript.
Ultimo aggiornamento Release stabile Candidato per la release Release beta Release alpha
8 aprile 2026 1.0.0 - 1.1.0-beta01 -

Dichiara le dipendenze

Per aggiungere una dipendenza da JavascriptEngine, devi aggiungere il repository Maven di Google al tuo progetto. Per saperne di più, consulta il repository Maven di Google.

Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle per la tua app o il tuo modulo:

Alla moda

dependencies {
    implementation "androidx.javascriptengine:javascriptengine:1.1.0-beta01"
}

Kotlin

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

Per saperne di più sulle dipendenze, consulta Aggiungere dipendenze di build.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa raccolta. Prima di segnalare un nuovo problema, dai un'occhiata ai problemi esistenti in questa raccolta. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.

Crea un nuovo problema

Per saperne di più, consulta la documentazione di Issue Tracker.

Versione 1.1

Versione 1.1.0-beta01

8 aprile 2026

È stata rilasciata la versione androidx.javascriptengine:javascriptengine:1.1.0-beta01. La versione 1.1.0-beta01 contiene questi commit.

Correzioni di bug

  • Aggiorna JavaScriptEngine alla versione 1.1.0-beta01 (I7b63b)

Versione 1.1.0-alpha02

25 marzo 2026

È stata rilasciata la versione androidx.javascriptengine:javascriptengine:1.1.0-alpha02. La versione 1.1.0-alpha02 contiene questi commit.

Nuove funzionalità

  • Aggiungi l'API delle porte dei messaggi per fornire una comunicazione simmetrica, flessibile e a basso overhead con gli isolati JavaScript. In questo modo, le stringhe e ArrayBuffers possono essere inviati e ricevuti senza essere incorporati in valutazioni o blob di dati denominati. (I04bc0, b/490128971)

Versione 1.1.0-alpha01

11 marzo 2026

È stata rilasciata la versione androidx.javascriptengine:javascriptengine:1.1.0-alpha01. La versione 1.1.0-alpha01 contiene questi commit.

Correzioni di bug

  • Sposta le librerie per utilizzare la destinazione Java 11. Ciò significa che il bytecode prodotto sarà Java 11 (versione del file di classe 55) e potrebbe richiedere il desugaring per utilizzare la libreria (If4c2a, b/457821470)
  • Questa libreria ora utilizza le annotazioni di nullità JSpecify, che sono di tipo-utilizzo. Gli sviluppatori Kotlin devono utilizzare il seguente argomento del compilatore per applicare l'utilizzo corretto: -Xjspecify-annotations=strict (questo è il valore predefinito a partire dalla versione 2.1.0 del compilatore Kotlin) (Ieee48, b/326456246)

Versione 1.0

Versione 1.0.0

2 luglio 2025

È stata rilasciata la versione androidx.javascriptengine:javascriptengine:1.0.0 senza modifiche rilevanti rispetto all'ultima release rc. La versione 1.0.0 contiene questi commit.

Versione 1.0.0-rc01

26 marzo 2025

È stata rilasciata la versione androidx.javascriptengine:javascriptengine:1.0.0-rc01 senza modifiche rilevanti rispetto all'ultima versione beta. La versione 1.0.0-rc01 contiene questi commit.

Versione 1.0.0-beta01

1° novembre 2023

È stata rilasciata la versione androidx.javascriptengine:javascriptengine:1.0.0-beta01 senza modifiche rilevanti rispetto all'ultima versione alpha. La versione 1.0.0-beta01 contiene questi commit.

Versione 1.0.0-alpha07

18 ottobre 2023

È stata rilasciata la versione androidx.javascriptengine:javascriptengine:1.0.0-alpha07. La versione 1.0.0-alpha07 contiene questi commit.

Nuove funzionalità

  • È stata introdotta una nuova API per consentire alle app di registrare callback per gestire gli arresti anomali degli isolati.

Modifiche alle API

  • Rinomina DEFAULT_MAX_HEAP_SIZE in AUTOMATIC_MAX_HEAP_SIZE. (I6d303)
  • Rinomina FileDescriptorIoException in DataInputException. (Iba4eb)
  • Rinomina DEFAULT_ISOLATE_HEAP_SIZE in DEFAULT_MAX_HEAP_SIZE. (Iaa16f)
  • Rimuovi i metodi getSource e getTrace della console non funzionali. (I4b7a2)
  • Scopri FileDescriptorIoException (Ic44e6)
  • Consenti alle app di registrare callback per gestire gli arresti anomali degli isolati. (Iad25f)

Versione 1.0.0-alpha06

4 ottobre 2023

È stata rilasciata la versione androidx.javascriptengine:javascriptengine:1.0.0-alpha06. La versione 1.0.0-alpha06 contiene questi commit.

Nuove funzionalità

  • È stata introdotta una nuova API per valutare JavaScript da un ParcelFileDescriptor/AssetFileDescriptor senza dover convertire l'origine in una stringa. La classe JavaScriptIsolate è thread-safe.

Modifiche alle API

  • Modifica provideNamedData per generare un'eccezione anziché restituire false. (I8909a)
  • Aggiunta di API per la valutazione di JavaScript tramite Afds e Pfds (I03e3a)
  • Rendi MemoryLimitExceededException e SandboxDeadException sottoclassi di IsolateTerminatedException (Icf359)
  • Rimozione dell'API pubblica evaluateJavaScriptAsync(@NonNull byte[] code) (I4b3ac)

Correzioni di bug

  • Rendi JavaScriptIsolate thread-safe. (Ib28e0)

Versione 1.0.0-alpha05

5 aprile 2023

È stata rilasciata la versione androidx.javascriptengine:javascriptengine:1.0.0-alpha05. La versione 1.0.0-alpha05 contiene questi commit.

Modifiche alle API

  • La valutazione e il risultato non sono più vincolati dai limiti di Binder (I13b1d)
  • Aggiungi un callback per la gestione dei messaggi della console isolata (I11725, Ic1c11)

Versione 1.0.0-alpha04

22 febbraio 2023

È stata rilasciata la versione androidx.javascriptengine:javascriptengine:1.0.0-alpha04. La versione 1.0.0-alpha04 contiene questi commit.

Correzioni di bug

  • Corregge un raro caso di NullPointerException causato dalla chiusura del processo in sandbox.

Versione 1.0.0-alpha03

7 dicembre 2022

È stata rilasciata la versione androidx.javascriptengine:javascriptengine:1.0.0-alpha03. La versione 1.0.0-alpha03 contiene questi commit.

Nuove funzionalità

  • Contieni gli arresti anomali dovuti a memoria insufficiente nell'isolato responsabile anziché arrestare l'intera sandbox. Una volta che l'isolato esaurisce la memoria, non può essere utilizzato per ulteriori valutazioni.
  • Al momento, le risorse contenute nell'isolato non vengono liberate finché la sandbox non viene chiusa. Questo comportamento di liberazione delle risorse potrebbe cambiare nelle versioni successive della libreria.

Modifiche alle API

  • Genera MemoryLimitExceededException quando una valutazione porta all'esaurimento della memoria dell'isolato (I336ca)

Versione 1.0.0-alpha02

5 ottobre 2022

È stata rilasciata la versione androidx.javascriptengine:javascriptengine:1.0.0-alpha02. La versione 1.0.0-alpha02 contiene questi commit.

Nuove funzionalità

  • Aggiungi JavaScriptSandbox#isSupported per verificare se il sistema supporta le sandbox JavaScript.

Modifiche alle API

  • Genera SandboxUnsupportedException quando non è possibile creare JavaScriptSandbox a causa della mancanza di supporto del sistema. (I0dcd6)

Versione 1.0.0-alpha01

10 agosto 2022

È stata rilasciata la versione androidx.javascriptengine:javascriptengine:1.0.0-alpha01. La versione 1.0.0-alpha01 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiunto il supporto sperimentale per JavaScriptSandbox e JavaScriptIsolate per consentire ai client di valutare JavaScript in un ambiente sicuro e limitato. Si tratta di un'area di sviluppo attivo; le API sono soggette a modifiche senza preavviso.

  • Segnala richieste di funzionalità e bug al nostro componente JavascriptEngine.