JavascriptEngine
| 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.
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
ArrayBufferssans 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_SIZEa été renomméAUTOMATIC_MAX_HEAP_SIZE. (I6d303)FileDescriptorIoExceptiona été renomméDataInputException. (Iba4eb)DEFAULT_ISOLATE_HEAP_SIZEa été renomméDEFAULT_MAX_HEAP_SIZE. (Iaa16f)- Suppression des méthodes de console non fonctionnelles
getSourceetgetTrace. (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/AssetFileDescriptorsans avoir à convertir la source en chaîne. La classeJavaScriptIsolateest rendue thread-safe.
Modifications apportées à l'API
- Modification de
provideNamedDatapour 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
MemoryLimitExceededExceptionetSandboxDeadExceptionIsolateTerminatedException(Icf359) - Suppression de l'API publique
evaluateJavaScriptAsync(@NonNull byte[] code)(I4b3ac)
Correction de bugs
- Rendre
JavaScriptIsolatethread-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
NullPointerExceptioncausé 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
MemoryLimitExceededExceptionest 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#isSupportedpour vérifier si le système est compatible avec les bacs à sable JavaScript.
Modifications apportées à l'API
- La fonction
SandboxUnsupportedExceptionest renvoyée lorsqu'il est impossible de créerJavaScriptSandbox, 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
JavaScriptSandboxetJavaScriptIsolateafin 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.