JavascriptEngine

  
Permitir que seu app Android avalie o JavaScript.
Atualização mais recente Versão estável Versão candidata a lançamento Versão Beta Versão Alfa
26 de março de 2025 - 1.0.0-rc01 - -

Declarar dependências

Para adicionar uma dependência ao JavascriptEngine, é preciso adicionar o repositório Maven do Google ao seu projeto. Leia Repositório Maven do Google para mais informações.

Adicione as dependências dos artefatos necessários ao arquivo build.gradle do seu app ou módulo:

Groovy

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

Kotlin

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

Para mais informações sobre dependências, consulte Adicionar dependências de build.

Feedback

Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.

Criar novo problema

Consulte a documentação do Issue Tracker para saber mais.

Versão 1.0

Versão 1.0.0-rc01

26 de março de 2025

androidx.javascriptengine:javascriptengine:1.0.0-rc01 é lançado sem mudanças significativas desde a última versão Beta. A versão 1.0.0-rc01 contém estas confirmações.

Versão 1.0.0-beta01

1º de novembro de 2023

androidx.javascriptengine:javascriptengine:1.0.0-beta01 é lançado sem mudanças significativas desde a última versão Alfa. A versão 1.0.0-beta01 contém estas confirmações.

Versão 1.0.0-alpha07

18 de outubro de 2023

Lançamento de androidx.javascriptengine:javascriptengine:1.0.0-alpha07. A versão 1.0.0-alpha07 contém estas confirmações.

Novos recursos

  • Uma nova API foi apresentada para permitir que os apps registrem callbacks para lidar com falhas isoladas.

Mudanças na API

  • DEFAULT_MAX_HEAP_SIZE foi renomeado como AUTOMATIC_MAX_HEAP_SIZE. (I6d303).
  • FileDescriptorIoException foi renomeado como DataInputException. (Iba4eb).
  • DEFAULT_ISOLATE_HEAP_SIZE foi renomeado como DEFAULT_MAX_HEAP_SIZE. (Iaa16f).
  • Os métodos getSource e getTrace do console não funcionais foram removidos. (I4b7a2).
  • FileDescriptorIoException foi mostrado (Ic44e6).
  • Permitir que apps registrem callbacks para processar falhas isoladas. (Iad25f).

Versão 1.0.0-alpha06

4 de outubro de 2023

Lançamento de androidx.javascriptengine:javascriptengine:1.0.0-alpha06. A versão 1.0.0-alpha06 contém estas confirmações.

Novos recursos

  • Nova API introduzida para avaliar JavaScript de um ParcelFileDescriptor/AssetFileDescriptor sem a necessidade de converter a origem em uma string. A classe JavaScriptIsolate é feita de forma segura para thread.

Mudanças na API

  • provideNamedData foi alterado para gerar uma exceção em vez de retornar "false". (I8909a).
  • Adição de APIs para avaliar JavaScript usando Afds e Pfds (I03e3a).
  • Tornar MemoryLimitExceededException e SandboxDeadException subclasses de IsolateTerminatedException (Icf359).
  • Remoção da API pública evaluateJavaScriptAsync(@NonNull byte[] code) (I4b3ac).

Correções de bugs

  • A linha de execução JavaScriptIsolate agora é segura. (Ib28e0).

Versão 1.0.0-alpha05

5 de abril de 2023

Lançamento de androidx.javascriptengine:javascriptengine:1.0.0-alpha05. A versão 1.0.0-alpha05 contém estas confirmações.

Mudanças na API

  • A avaliação e o resultado não são mais limitados pelos limites do Binder (I13b1d).
  • Foi adicionado um callback para processar mensagens de console isoladas (I11725, Ic1c11).

Versão 1.0.0-alpha04

22 de fevereiro de 2023

Lançamento de androidx.javascriptengine:javascriptengine:1.0.0-alpha04. A versão 1.0.0-alpha04 contém estas confirmações.

Correções de bugs

  • Foi corrigido um caso raro de NullPointerException causado quando o processo de sandbox era encerrado.

Versão 1.0.0-alpha03

7 de dezembro de 2022

Lançamento de androidx.javascriptengine:javascriptengine:1.0.0-alpha03. A versão 1.0.0-alpha03 contém estas confirmações.

Novos recursos

  • Agora as falhas de memória ficam isoladas no recurso responsável, evitando que todo o sandbox falhe. Quando o recurso isolado fica sem memória, ele não pode mais ser usado para outras avaliações.
  • Por enquanto, os recursos contidos pelo elemento isolado não serão liberados até que o sandbox seja fechado. Esse comportamento de liberação de recursos pode mudar nas próximas versões da biblioteca.

Mudanças na API

  • Uma MemoryLimitExceededException é gerada quando uma avaliação resulta no isolamento de um recurso sem memória (I336ca).

Versão 1.0.0-alpha02

5 de outubro de 2022

Lançamento de androidx.javascriptengine:javascriptengine:1.0.0-alpha02. A versão 1.0.0-alpha02 contém estas confirmações.

Novos recursos

  • Adição de JavaScriptSandbox#isSupported para verificar se o sistema oferece suporte a sandboxes do JavaScript.

Mudanças na API

  • Geração de SandboxUnsupportedException quando JavaScriptSandbox não pode ser criado devido à falta de suporte ao sistema (I0dcd6)

Versão 1.0.0-alpha01

10 de agosto de 2022

Lançamento de androidx.javascriptengine:javascriptengine:1.0.0-alpha01. A versão 1.0.0-alpha01 contém estas confirmações.

Novos recursos

  • Adicionamos suporte experimental a JavaScriptSandbox e JavaScriptIsolate para permitir que os clientes avaliem o JavaScript em um ambiente seguro e restrito. Essa é uma área de desenvolvimento ativo. As APIs estão sujeitas a alterações sem aviso prévio.

  • Envie solicitações de recursos e bugs do componente JavaScriptEngine.