JavascriptEngine

  
Habilitez votre application Android à évaluer du JavaScript.
Dernière mise à jour Version stable Version finale Version bêta Version alpha
26 mars 2025 - 1.0.0-rc01 - -

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

Kotlin

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

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

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. La version 1.0.0-rc01 contient ces commits.

Version 1.0.0-beta01

1er novembre 2023

Publication d'androidx.javascriptengine:javascriptengine:1.0.0-beta01 sans modification notable depuis 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 nouvelle API permettant aux applications d'enregistrer des rappels pour gérer les plantages 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 getSource et getTrace de la console non fonctionnelles. (I4b7a2)
  • Afficher FileDescriptorIoException (Ic44e6)
  • Autorisez les applications à enregistrer des rappels pour gérer les plantages d'isolation. (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

  • Nouvelle API permettant d'é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 l'évaluation du code JavaScript via des AFD et des PDE (I03e3a)
  • MemoryLimitExceededException et SandboxDeadException sont devenus des sous-classes de 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 limités par les limites de Binder (I13b1d)
  • Ajout d'un rappel pour gérer les messages de console d'isolation (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.