Motore JavaScript

  
Abilita la tua app Android per valutare JavaScript.
Aggiornamento più recente Release stabile Candidato di rilascio Versione beta Versione alpha
1° novembre 2023 - - 1.0.0-beta01 -

Dichiarazione delle dipendenze

Per aggiungere una dipendenza a JavaScriptEngine, devi aggiungere il Repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il Repository Maven di Google.

Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle per l'app o il modulo:

Trendy

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

Kotlin

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

Per ulteriori informazioni sulle dipendenze, vedi Aggiungere dipendenze delle build.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Contattaci se scopri nuovi problemi o hai idee per migliorare la libreria. Dai un'occhiata ai problemi esistenti in questa libreria prima di crearne uno nuovo. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.

Crea un nuovo problema

Per ulteriori informazioni, consulta la documentazione di Issue Tracker.

Versione 1.0

Versione 1.0.0-beta01

1° novembre 2023

androidx.javascriptengine:javascriptengine:1.0.0-beta01 viene rilasciato. La versione 1.0.0-beta01 contiene questi commit.

  • Nessuna modifica dal giorno 1.0.0-alpha07

Versione 1.0.0-alpha07

18 ottobre 2023

androidx.javascriptengine:javascriptengine:1.0.0-alpha07 viene rilasciato. La versione 1.0.0-alpha07 contiene questi commit.

Nuove funzionalità

  • Introduzione di una nuova API per consentire alle app di registrare i callback al fine di gestire gli arresti anomali 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 non funzionanti getSource e getTrace della console. (I4b7a2)
  • Mostra FileDescriptorIoException (Ic44e6)
  • Consenti alle app di registrare i callback per gestire gli arresti anomali isolati. (Iad25f)

Versione 1.0.0-alpha06

4 ottobre 2023

androidx.javascriptengine:javascriptengine:1.0.0-alpha06 viene rilasciato. La versione 1.0.0-alpha06 contiene questi commit.

Nuove funzionalità

  • Nuova API introdotta per valutare JavaScript da un ParcelFileDescriptor/AssetFileDescriptor senza dover convertire il codice sorgente in una stringa. La classe JavaScriptIsolate è sicura per i thread.

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)
  • Crea la sottoclasse MemoryLimitExceededException e SandboxDeadException IsolateTerminatedException (Icf359)
  • Rimozione dell'API visibile al pubblico evaluateJavaScriptAsync(@NonNull byte[] code) (I4b3ac)

Correzioni di bug

  • Rendi il thread di JavaScriptIsolate sicuro. (Ib28e0)

Versione 1.0.0-alpha05

5 aprile 2023

androidx.javascriptengine:javascriptengine:1.0.0-alpha05 viene rilasciato. 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 callback per la gestione dei messaggi della console di isolamento (I11725, Ic1c11)

Versione 1.0.0-alpha04

22 febbraio 2023

androidx.javascriptengine:javascriptengine:1.0.0-alpha04 viene rilasciato. La versione 1.0.0-alpha04 contiene questi commit.

Correzioni di bug

  • Corregge un raro caso di NullPointerException causato dalla fine del processo con sandbox.

Versione 1.0.0-alpha03

7 dicembre 2022

androidx.javascriptengine:javascriptengine:1.0.0-alpha03 viene rilasciato. La versione 1.0.0-alpha03 contiene questi commit.

Nuove funzionalità

  • Contengono arresti anomali esauriti per la memoria dell'isolato responsabile anziché causare l'arresto anomalo dell'intera sandbox. Una volta esaurito la memoria, l'isolato non può essere utilizzato per ulteriori valutazioni.
  • Al momento, le risorse isolate dai blocchi 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 a isolare l'esaurimento della memoria.(I336ca)

Versione 1.0.0-alpha02

5 ottobre 2022

androidx.javascriptengine:javascriptengine:1.0.0-alpha02 viene rilasciato. 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

androidx.javascriptengine:javascriptengine:1.0.0-alpha01 viene rilasciato. 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. Questa è un'area in fase di sviluppo attivo; le API sono soggette a modifiche senza preavviso.

  • Invia richieste di funzionalità e segnala bug al nostro componente JavaScript.