JavaScriptEngine

  
Habilita tu app de Android para evaluar JavaScript.
Actualización más reciente Versión estable Versión potencial Versión beta Versión alfa
26 de marzo de 2025 - 1.0.0-rc01 - -

Cómo declarar dependencias

Si deseas agregar una dependencia en JavaScriptEngine, debes agregar el repositorio de Maven de Google a tu proyecto. Consulta el repositorio de Maven de Google para obtener más información.

Agrega las dependencias de los artefactos que necesites en el archivo build.gradle de tu app o módulo:

Groovy

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

Kotlin

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

Para obtener más información sobre las dependencias, consulta Cómo agregar dependencias de compilación.

Comentarios

Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes de esta biblioteca antes de crear uno nuevo. Puedes agregar tu voto a un error existente haciendo clic en el botón de la estrella.

Crear un error nuevo

Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.

Versión 1.0

Versión 1.0.0-rc01

26 de marzo de 2025

Lanzamiento de androidx.javascriptengine:javascriptengine:1.0.0-rc01 sin cambios notables desde la última versión beta. La versión 1.0.0-rc01 contiene estas confirmaciones.

Versión 1.0.0-beta01

1 de noviembre de 2023

Lanzamiento de androidx.javascriptengine:javascriptengine:1.0.0-beta01 sin cambios notables desde la última versión alfa. La versión 1.0.0-beta01 contiene estas confirmaciones.

Versión 1.0.0-alpha07

18 de octubre de 2023

Lanzamiento de androidx.javascriptengine:javascriptengine:1.0.0-alpha07. La versión 1.0.0-alpha07 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó una nueva API para permitir que las apps registren devoluciones de llamada para controlar las fallas de aislamiento.

Cambios en la API

  • Se cambió el nombre de DEFAULT_MAX_HEAP_SIZE por AUTOMATIC_MAX_HEAP_SIZE. (I6d303).
  • Se cambió el nombre de FileDescriptorIoException por DataInputException. (Iba4eb).
  • Se cambió el nombre de DEFAULT_ISOLATE_HEAP_SIZE por DEFAULT_MAX_HEAP_SIZE. (Iaa16f).
  • Se quitaron los métodos getSource y getTrace de la consola no funcionales. (I4b7a2).
  • Se muestra FileDescriptorIoException (Ic44e6).
  • Permite que las apps registren devoluciones de llamada para controlar las fallas de aislamiento. (Iad25f).

Versión 1.0.0-alpha06

4 de octubre de 2023

Lanzamiento de androidx.javascriptengine:javascriptengine:1.0.0-alpha06. La versión 1.0.0-alpha06 contiene estas confirmaciones.

Nuevas funciones

  • Se presentó una nueva API para evaluar JavaScript desde un ParcelFileDescriptor/AssetFileDescriptor sin necesidad de convertir la fuente en una cadena. La clase JavaScriptIsolate tiene protección de subprocesos.

Cambios en la API

  • Se cambió provideNamedData para que arroje una excepción en lugar de mostrar un valor falso. (I8909a).
  • Se agregaron APIs para evaluar JavaScript a través de Afds y Pfds (I03e3a).
  • Haz que MemoryLimitExceededException y SandboxDeadException sean subclases de IsolateTerminatedException (Icf359).
  • Se quitó la API pública evaluateJavaScriptAsync(@NonNull byte[] code) (I4b3ac).

Correcciones de errores

  • Se hizo que JavaScriptIsolate sea seguro para los subprocesos. (Ib28e0).

Versión 1.0.0-alpha05

5 de abril de 2023

Lanzamiento de androidx.javascriptengine:javascriptengine:1.0.0-alpha05. La versión 1.0.0-alpha05 contiene estas confirmaciones.

Cambios en la API

  • La evaluación y el resultado ya no están sujetos a los límites de Binder (I13b1d).
  • Se agregó una devolución de llamada para controlar los mensajes de la consola de aislamiento (I11725, Ic1c11).

Versión 1.0.0-alpha04

22 de febrero de 2023

Lanzamiento de androidx.javascriptengine:javascriptengine:1.0.0-alpha04. La versión 1.0.0-alpha04 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió un caso poco frecuente de NullPointerException que se producía cuando se bloqueaba el proceso de zona de pruebas.

Versión 1.0.0-alpha03

7 de diciembre de 2022

Lanzamiento de androidx.javascriptengine:javascriptengine:1.0.0-alpha03. La versión 1.0.0-alpha03 contiene estas confirmaciones.

Nuevas funciones

  • Se contienen las fallas de memoria en el aislamiento responsable en lugar de que falle toda la zona de pruebas. Una vez que el aislamiento se queda sin memoria, no se puede usar para más evaluaciones.
  • Actualmente, los recursos contenidos por el aislamiento no se liberan hasta que se cierra la zona de pruebas. Este comportamiento de liberación de recursos puede cambiar en versiones posteriores de la biblioteca.

Cambios en la API

  • Se arroja MemoryLimitExceededException cuando una evaluación genera que el aislamiento se quede sin memoria (I336ca).

Versión 1.0.0-alpha02

5 de octubre de 2022

Lanzamiento de androidx.javascriptengine:javascriptengine:1.0.0-alpha02. La versión 1.0.0-alpha02 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó JavaScriptSandbox#isSupported para verificar si el sistema admite zonas de pruebas de JavaScript.

Cambios en la API

  • Se arroja SandboxUnsupportedException cuando no se puede crear JavaScriptSandbox debido a la falta de compatibilidad del sistema (I0dcd6).

Versión 1.0.0-alpha01

10 de agosto de 2022

Lanzamiento de androidx.javascriptengine:javascriptengine:1.0.0-alpha01. La versión 1.0.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó compatibilidad experimental para JavaScriptSandbox y JavaScriptIsolate a fin de permitir que los clientes evalúen JavaScript en un entorno seguro y restringido. Esta es un área de desarrollo activo, por lo que las APIs están sujetas a cambios sin previo aviso.

  • Envía informes de errores y solicitudes de funciones en nuestro componente JavaScriptEngine.