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
1 de noviembre de 2023 - - 1.0.0-beta01 -

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

Kotlin

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

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

1 de noviembre de 2023

Lanzamiento de androidx.javascriptengine:javascriptengine:1.0.0-beta01. La Versión 1.0.0-beta01 contiene estas confirmaciones.

  • Sin cambios desde 1.0.0-alpha07

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 introdujo una nueva API para permitir que las apps registren devoluciones de llamada a fin de controlar las fallas de aislamiento.

Cambios en la API

  • Se cambia el nombre de DEFAULT_MAX_HEAP_SIZE a AUTOMATIC_MAX_HEAP_SIZE. (I6d303).
  • Se cambia el nombre de FileDescriptorIoException a DataInputException. (Iba4eb).
  • Se cambia el nombre de DEFAULT_ISOLATE_HEAP_SIZE a DEFAULT_MAX_HEAP_SIZE. (Iaa16f).
  • Quita los métodos getSource y getTrace de la consola no funcional. (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 introdujo una nueva API para evaluar JavaScript desde un ParcelFileDescriptor/AssetFileDescriptor sin necesidad de convertir la fuente en una string. La clase JavaScriptIsolate es segura para los 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 mediante Afds y Pfds. (I03e3a)
  • Se cambió la subclase IsolateTerminatedException de MemoryLimitExceededException y SandboxDeadException (Icf359).
  • Se quitó la API pública evaluateJavaScriptAsync(@NonNull byte[] code) (I4b3ac).

Correcciones de errores

  • Se hizo que el subproceso JavaScriptIsolate sea seguro. (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ó la devolución de llamada para controlar los mensajes aislados de la consola (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.