JavascriptEngine

  
Habilitez votre application Android à évaluer du JavaScript.
Dernière mise à jour Version stable Version finale Version bêta Version alpha
25 mars 2026 1.0.0 - - 1.1.0-alpha02

Déclarer des dépendances

Pour ajouter une dépendance à JavascriptEngine, vous devez ajouter le dépôt Maven Google à votre projet. Pour en savoir plus, consultez la section Dépôt Maven de Google.

Ajoutez les dépendances correspondant aux artefacts dont vous avez besoin dans le fichier build.gradle de votre application ou de votre module :

Groovy

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

Kotlin

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

Pour en savoir plus sur les dépendances, consultez Ajouter des dépendances de compilation.

Commentaires

Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.

Signaler un nouveau problème

Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.

Version 1.1

Version 1.1.0-alpha02

25 mars 2026

Publication d'androidx.javascriptengine:javascriptengine:1.1.0-alpha02. Liste des commits de la version 1.1.0-alpha02 these commits.

Nouvelles fonctionnalités

  • Ajout d'une API de ports de messages pour fournir une communication symétrique, flexible et à faible surcharge avec les composants isolés JavaScript. Cela permet d'envoyer et de recevoir des chaînes et des ArrayBuffers sans les intégrer dans des évaluations ni des blobs de données nommés. (I04bc0, b/490128971)

Version 1.1.0-alpha01

11 mars 2026

Publication d'androidx.javascriptengine:javascriptengine:1.1.0-alpha01. Liste des commits de la version 1.1.0-alpha01 .

Correction de bugs

  • Déplacement des bibliothèques pour utiliser la cible Java 11. Cela signifie que le bytecode produit sera Java 11 (version 55 du fichier de classe) et pourra nécessiter une désucrification pour utiliser la bibliothèque (If4c2a, b/457821470)
  • Cette bibliothèque utilise désormais des annotations de nullité JSpecify, qui sont de type "use". Les développeurs Kotlin doivent utiliser l'argument de compilateur suivant pour appliquer une utilisation correcte : -Xjspecify-annotations=strict (il s'agit de la valeur par défaut à partir de la version 2.1.0 du compilateur Kotlin) (Ieee48, b/326456246)

Version 1.0

Version 1.0.0

2 juillet 2025

Publication d'androidx.javascriptengine:javascriptengine:1.0.0 sans modification notable par rapport à la dernière version finale. Liste des commits de la version 1.0.0 these commits.

Version 1.0.0-rc01

26 mars 2025

Publication d'androidx.javascriptengine:javascriptengine:1.0.0-rc01 sans modification notable par rapport à la dernière version bêta. Liste des commits de la version 1.0.0-rc01 these commits.

Version 1.0.0-beta01

1er novembre 2023

Publication d'androidx.javascriptengine:javascriptengine:1.0.0-beta01 sans modification notable par rapport à la dernière version alpha. Liste des commits de la version 1.0.0-beta01

Version 1.0.0-alpha07

18 octobre 2023

Publication d'androidx.javascriptengine:javascriptengine:1.0.0-alpha07. Liste des commits de la version 1.0.0-alpha07

Nouvelles fonctionnalités

  • Ajout d'une API pour permettre aux applications d'enregistrer des rappels afin de gérer les plantages de composants isolés.

Modifications apportées à l'API

  • DEFAULT_MAX_HEAP_SIZE a été renommé AUTOMATIC_MAX_HEAP_SIZE. (I6d303)
  • FileDescriptorIoException a été renommé DataInputException. (Iba4eb)
  • DEFAULT_ISOLATE_HEAP_SIZE a été renommé DEFAULT_MAX_HEAP_SIZE. (Iaa16f)
  • Suppression des méthodes de console non fonctionnelles getSource et getTrace. (I4b7a2)
  • Réaffichage de FileDescriptorIoException (Ic44e6)
  • Autorisation des applications à enregistrer des rappels pour gérer les plantages de composants isolés. (Iad25f)

Version 1.0.0-alpha06

4 octobre 2023

Publication d'androidx.javascriptengine:javascriptengine:1.0.0-alpha06. Liste des commits de la version 1.0.0-alpha06

Nouvelles fonctionnalités

  • Ajout d'une API pour évaluer JavaScript à partir d'un ParcelFileDescriptor/AssetFileDescriptor sans avoir à convertir la source en chaîne. La classe JavaScriptIsolate est rendue thread-safe.

Modifications apportées à l'API

  • Modification de provideNamedData pour générer une exception au lieu de renvoyer la valeur "false". (I8909a)
  • Ajout d'API pour évaluer JavaScript via des Afds et des Pfds (I03e3a)
  • Création de sous-classes MemoryLimitExceededException et SandboxDeadException IsolateTerminatedException (Icf359)
  • Suppression de l'API publique evaluateJavaScriptAsync(@NonNull byte[] code) (I4b3ac)

Correction de bugs

  • Rendre JavaScriptIsolate thread-safe. (Ib28e0)

Version 1.0.0-alpha05

5 avril 2023

Publication d'androidx.javascriptengine:javascriptengine:1.0.0-alpha05. Liste des commits de la version 1.0.0-alpha05

Modifications apportées à l'API

  • L'évaluation et le résultat ne sont plus liés par les limites de Binder (I13b1d).
  • Ajout d'un rappel pour gérer les messages de la console de composants isolés (I11725, Ic1c11)

Version 1.0.0-alpha04

22 février 2023

Publication d'androidx.javascriptengine:javascriptengine:1.0.0-alpha04. Liste des commits de la version 1.0.0-alpha04

Correction de bugs

  • Correction d'un cas rare de NullPointerException causé par l'arrêt du processus en bac à sable.

Version 1.0.0-alpha03

7 décembre 2022

Publication d'androidx.javascriptengine:javascriptengine:1.0.0-alpha03. Liste des commits de la version 1.0.0-alpha03

Nouvelles fonctionnalités

  • Limitation des plantages liés à la saturation de la mémoire au composant isolé responsable, et pas à l'ensemble du bac à sable. Une fois que le composant isolé est à court de mémoire, il ne peut plus être utilisé pour d'autres évaluations.
  • Actuellement, les ressources que le composant isolé contient ne sont pas libérées tant que le bac à sable n'est pas fermé. Ce comportement peut être modifié dans les versions ultérieures de la bibliothèque.

Modifications apportées à l'API

  • MemoryLimitExceededException est généré lorsqu'une évaluation entraîne la saturation de la mémoire d'un composant isolé. (I336ca)

Version 1.0.0-alpha02

5 octobre 2022

Publication d'androidx.javascriptengine:javascriptengine:1.0.0-alpha02. Liste des commits de la version 1.0.0-alpha02

Nouvelles fonctionnalités

  • Ajout de JavaScriptSandbox#isSupported pour vérifier si le système est compatible avec les bacs à sable JavaScript.

Modifications apportées à l'API

  • La fonction SandboxUnsupportedException est renvoyée lorsqu'il est impossible de créer JavaScriptSandbox, car le système n'est pas compatible. (I0dcd6)

Version 1.0.0-alpha01

10 août 2022

Publication d'androidx.javascriptengine:javascriptengine:1.0.0-alpha01. Liste des commits de la version 1.0.0-alpha01

Nouvelles fonctionnalités

  • Nous avons ajouté la compatibilité expérimentale pour JavaScriptSandbox et JavaScriptIsolate afin de permettre aux clients d'évaluer JavaScript dans un environnement sécurisé et limité. Cette compatibilité fait l'objet d'un développement continu. Les API sont susceptibles d'être modifiées sans préavis.

  • Envoyez-nous vos demandes de fonctionnalités et signalez tout bug lié à notre composant JavaScriptEngine.