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

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

Kotlin

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

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

1º de novembro de 2023

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

  • Nenhuma mudança desde 1.0.0-alpha07

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

  • Foi introduzida uma nova API para permitir que os apps registrem callbacks para lidar com falhas isoladas.

Mudanças na API

  • O DEFAULT_MAX_HEAP_SIZE foi renomeado como AUTOMATIC_MAX_HEAP_SIZE (I6d303).
  • O FileDescriptorIoException foi renomeado como DataInputException (Iba4eb).
  • O 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 é reexibido (Ic44e6).
  • Permitir que os 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

  • Foi introduzida uma nova API para avaliar o JavaScript de um ParcelFileDescriptor/AssetFileDescriptor sem precisar converter a origem em uma string A classe JavaScriptIsolate passou a ser thread-safe.

Mudanças na API

  • provideNamedData foi mudado para gerar uma exceção em vez de retornar um valor falso (I8909a).
  • APIs foram adicionadas para avaliar o JavaScript usando Afds e Pfds (I03e3a).
  • A subclasse MemoryLimitExceededException e SandboxDeadException agora são 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 estão mais restritos pelos limites de vinculação (I13b1d).
  • Um callback foi adicionado para processar mensagens de isolamento do console (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.