JavascriptEngine

  
Habilitez votre application Android à évaluer du JavaScript.
Dernière mise à jour Version stable Version finale Version bêta Version alpha
1er novembre 2023 - - 1.0.0-beta01 -

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

Kotlin

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

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

1er novembre 2023

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

  • Aucune modification depuis le 1.0.0-alpha07

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 pour permettre aux applications d'enregistrer des rappels afin de gérer les plantages isolés.

Modifications apportées à l'API

  • Remplacement du nom DEFAULT_MAX_HEAP_SIZE par AUTOMATIC_MAX_HEAP_SIZE. (I6d303).
  • Remplacement du nom FileDescriptorIoException par DataInputException. (Iba4eb).
  • Remplacement du nom DEFAULT_ISOLATE_HEAP_SIZE par DEFAULT_MAX_HEAP_SIZE. (Iaa16f).
  • Suppression des méthodes getSource et getTrace de la console non fonctionnelles. (I4b7a2).
  • Affichage de FileDescriptorIoException (Ic44e6)
  • Autorisez les applications à enregistrer des rappels pour isoler les plantages. (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 nouvelle API pour évaluer le code JavaScript à partir d'un ParcelFileDescriptor/AssetFileDescriptor sans avoir à convertir la source en chaîne. La classe JavaScriptIsolate est 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 Afds et Pfds. (I03e3a)
  • Conversion de la sous-classe MemoryLimitExceededException et SandboxDeadException en IsolateTerminatedException. (Icf359)
  • Suppression de l'API publique evaluateJavaScriptAsync(@NonNull byte[] code). (I4b3ac)

Correction de bugs

  • Assurez la sécurité du thread JavaScriptIsolate. (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 aux limites de liaison. (I13b1d)
  • Ajout d'un rappel pour gérer les messages d'isolation de la console. (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.