Webkit

Trabalhe com APIs WebView modernas no Android 5 e versões mais recentes.
Atualização mais recente Versão estável atual Próximo candidato a lançamento Versão Beta Versão Alfa
16 de dezembro de 2020 1.4.0 - - -

Como declarar dependências

Para adicionar uma dependência a Webkit, adicione o repositório Maven do Google ao seu projeto. Leia Repositório Maven do Google para ver mais informações.

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

Groovy

dependencies {
    implementation "androidx.webkit:webkit:1.6.0"
}

Kotlin

dependencies {
    implementation("androidx.webkit:webkit:1.6.0")
}

Para ver 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 existentes nesta biblioteca antes de criar um novo. Adicione seu voto a um problema existente clicando no botão de estrela.

Criar novo problema

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

Versão 1.4.0

Versão 1.4.0

16 de dezembro de 2020

Lançamento de androidx.webkit:webkit:1.4.0. A versão 1.4.0 contém estas confirmações.

Principais mudanças desde a versão 1.3.0

  • Adição de uma nova API setSafeBrowsingAllowlist() para substituir setSafeBrowsingWhitelist(). Isso ajuda os apps a atualizar o código para evitar terminologia não inclusiva, sem deixar de oferecer compatibilidade com o mesmo intervalo de SDKs do Android e versões do WebView da API suspensa.
  • Correção de um bug no setProxyOverride que fazia com que as regras de substituição não fossem aplicadas corretamente.

Versão 1.4.0-rc02

2 de dezembro de 2020

Lançamento de androidx.webkit:webkit:1.4.0-rc02. A versão 1.4.0-rc02 contém estas confirmações.

Correções de bugs

  • Corrige a aplicação incorreta de regras de substituição durante o uso de setProxyOverride.

Versão 1.4.0-rc01

11 de novembro de 2020

androidx.webkit:webkit:1.4.0-rc01 é lançado sem mudanças desde 1.4.0-beta01. A versão 1.4.0-rc01 contém estas confirmações.

Versão 1.4.0-beta01

14 de outubro de 2020

androidx.webkit:webkit:1.4.0-beta01 é lançado sem mudanças desde 1.4.0-alpha01. A versão 1.4.0-beta01 contém estas confirmações.

Versão 1.4.0-alpha01

16 de setembro de 2020

androidx.webkit:webkit:1.4.0-alpha01 é lançado. A versão 1.4.0-alpha01 contém essas confirmações.

Mudanças na API

  • Adição de uma nova API WebViewCompat#setSafeBrowsingAllowlist() para substituir setSafeBrowsingWhitelist(). Isso ajuda os apps a atualizar o código deles para evitar terminologia não inclusiva, sem deixar de oferecer compatibilidade com o mesmo intervalo de SDKs do Android e versões do WebView da API obsoleta (I8d65d).

Versão 1.3.0

Versão 1.3.0

19 de agosto de 2020

androidx.webkit:webkit:1.3.0 é lançado. A versão 1.3.0 contém essas confirmações.

Principais mudanças desde a versão 1.2.0

  • A API ForceDarkStrategy oferece mais controle para o escurecimento do WebView (escurecimento de conteúdo da Web/CSS em comparação com o escurecimento automático).
  • A WebMessageListener e as APIs relacionadas fornecem um mecanismo simples e seguro para estabelecer comunicação entre conteúdos da Web e o aplicativo incorporado do WebView.
  • API isMultiProcessEnabled para verificar se o WebView está sendo executado em vários processos. Isso é possível a partir do Android O e significa que o conteúdo da Web é renderizado em um processo de renderizador em sandbox separado para o processo do aplicativo. Esse renderizador em sandbox pode ser compartilhado com outros WebViews no mesmo aplicativo, mas não é compartilhado com outros processos do aplicativo.

Versão 1.3.0-rc02

5 de agosto de 2020

androidx.webkit:webkit:1.3.0-rc02 é lançado. A versão 1.3.0-rc02 contém essas confirmações.

Correções de bugs

  • Isso corrige um problema de compatibilidade em que o WebMessageListener às vezes falhava durante o desenvolvimento local se o app fosse iniciado com a execução instantânea do Android Studio.

Versão 1.3.0-rc01

24 de junho de 2020

androidx.webkit:webkit:1.3.0-rc01 é lançado sem mudanças desde 1.3.0-beta01. A versão 1.3.0-rc01 contém essas confirmações (link em inglês).

Versão 1.3.0-beta01

10 de junho de 2020

androidx.webkit:webkit:1.3.0-beta01 é lançado. A versão 1.3.0-beta01 contém essas confirmações (link em inglês).

Novos recursos

  • API ForceDarkStrategy para controlar o escurecimento de WebView (escurecimento do CSS/conteúdo da Web em comparação ao escurecimento automático).
  • As APIs WebMessageListener oferecem um mecanismo simples e seguro para estabelecer a comunicação entre o conteúdo da Web e o app de incorporação do WebView.
  • API MultiProcessEnabled para verificar se o WebView está sendo executado no modo de vários processos.

Versão 1.3.0-alpha03

27 de maio de 2020

androidx.webkit:webkit:1.3.0-alpha03 é lançado. A versão 1.3.0-alpha03 contém essas confirmações (link em inglês).

Mudanças na API

  • O método addWebMessageListener agora recebe uma Set<String> de regras de origem permitidas (antes era uma List<String>).

Versão 1.3.0-alpha02

29 de abril de 2020

androidx.webkit:webkit:1.3.0-alpha02 é lançado. A versão 1.3.0-alpha02 contém essas confirmações.

Novos recursos

  • API MultiProcessEnabled para verificar se o WebView está sendo executado no modo de vários processos.

Mudanças na API

  • Todas as constantes de estratégia escuras agora têm o prefixo DARK_STRATEGY.

Versão 1.3.0-alpha01

15 de abril de 2020

androidx.webkit:webkit:1.3.0-alpha01 é lançado. A versão 1.3.0-alpha01 contém essas confirmações (link em inglês).

Novos recursos

  • API ForceDarkStrategy para controlar o escurecimento de WebView (escurecimento do conteúdo CSS/da Web em comparação ao escurecimento automático).
  • As APIs WebMessageListener oferecem um mecanismo simples e seguro para estabelecer a comunicação entre o conteúdo da Web e o app de incorporação do WebView.

Versão 1.2.0

Versão 1.2.0

4 de março de 2020

androidx.webkit:webkit:1.2.0 é lançado. A versão 1.2.0 contém essas confirmações (link em inglês).

Principais mudanças desde a versão 1.1.0

  • A API ForceDark foi adicionada para controlar se os WebViews serão renderizados no modo escuro.

Versão 1.2.0-rc01

19 de fevereiro de 2020

androidx.webkit:webkit:1.2.0-rc01 é lançado sem mudanças desde 1.2.0-beta01. A versão 1.2.0-rc01 contém essas confirmações (link em inglês).

Versão 1.2.0-beta01

5 de fevereiro de 2020

androidx.webkit:webkit:1.2.0-beta01 é lançado sem mudanças desde 1.2.0-alpha01. Versão 1.2.0-beta01 contém essas confirmações (link em inglês).

Versão 1.2.0-alpha01

18 de dezembro de 2019

androidx.webkit:webkit:1.2.0-alpha01 é lançado. A versão 1.2.0-alpha01 contém essas confirmações (link em inglês).

Novos recursos

  • API ForceDark para controlar a renderização dos WebViews no modo escuro.

Versão 1.1.0

Versão 1.1.0

7 de novembro de 2019

androidx.webkit:webkit:1.1.0 é lançado. A versão 1.1.0 contém estas confirmações.

Mudanças importantes desde a versão 1.0.0

  • APIs Getter para complementar setWebViewClient() e setWebChromeClient().
  • API ProxyController para definir um proxy de solicitação de rede para WebViews de um app.
  • API WebViewAssetLoader para simplificar o carregamento de recursos APK, recursos e arquivos do diretório de dados do app por meio de interceptação de solicitação. Isso permite o acesso a recursos locais e da Web sem desativar o CORS.
  • API TracingController para coletar informações de rastreamento do WebView para fins de depuração.
  • API RenderProcess para gerenciar serviços do renderizador do WebView e detectar quando um conteúdo com comportamento inadequado faz com que os renderizadores do WebView deixem de responder.
  • Atualização das APIs existentes para incluir anotações de valores nulos (@NonNull, @Nullable) e de linha de execução (@UiThread, @WorkerThread).

Versão 1.1.0-rc01

9 de outubro de 2019

androidx.webkit:webkit:1.1.0-rc01 é lançado. A versão 1.0.0-rc01 contém essas confirmações (link em inglês).

Correções de bugs

  • Correção de um problema em que o setWebViewRenderProcessClient() poderia falhar se transmitisse um cliente nulo.

Versão 1.1.0-beta01

5 de setembro de 2019

Lançamento de androidx.webkit:webkit:1.1.0-beta01. As confirmações incluídas nessa versão podem ser encontradas neste link.

Novos recursos

  • Novo InternalStoragePathHandler em WebViewAssetLoader para carregar arquivos a partir do diretório de dados do app.

Mudanças na API

  • ProxyConfig#getProxyRules() agora retorna uma lista inalterável de instâncias ProxyRule, que é uma nova classe para manter um filtro de esquema e seu URL de proxy correspondente.

Correções de bugs

  • O valor padrão de WebViewAssetLoader é um tipo MIME "text/plain", em vez de nulo, quando não consegue adivinhar o tipo MIME a partir do caminho do arquivo.
  • WebViewAssetLoader não gera mais NullPointerException ao carregar arquivos com caracteres especiais nos nomes de caminho.

Versão 1.1.0-alpha02

7 de agosto de 2019

androidx.webkit:webkit:1.1.0-alpha02 é lançado. As confirmações incluídas nessa versão podem ser encontradas neste link.

Novos recursos

  • WebViewAssetLoader expõe a interface PathHandler para permitir que os apps criem funcionalidades personalizadas de processamento de caminhos.

Mudanças na API

  • WebViewAssetLoader agora é uma classe final, já que ela não pode ter uma subclasse.
  • As implementações de WebViewAssetLoader#PathHandler agora são públicas e definitivas.
  • Pequenas mudanças nos nomes de métodos ProxyConfig.
  • ProxyController: adição dos novos métodos addDirect() e addDirect(String) para se conectar diretamente aos servidores. A string DIRECT foi removida.
  • Atualização das APIs existentes para incluir anotações de valores nulos (@NonNull, @Nullable) e de linha de execução (@UiThread, @WorkerThread).

Versão 1.1.0-alpha01

7 de maio de 2019

Lançamento de androidx.webkit:webkit:1.1.0-alpha01. As confirmações incluídas nessa versão podem ser encontradas neste link.

Novos recursos

  • APIs de getter para complementar setWebViewClient() e setWebChromeClient()
  • API ProxyController para definir um proxy de solicitação de rede para WebViews de um app.
  • API AssetLoader para simplificar o carregamento de recursos do APK por meio de interceptação de solicitação, permitindo acesso a recursos da Web sem desativar o CORS.
  • API TracingController para coletar informações de rastreamento do WebView para fins de depuração.
  • API RenderProcess para gerenciar serviços do renderizador do WebView e detectar quando um conteúdo com comportamento inadequado faz com que os renderizadores do WebView deixem de responder.

Correções de bugs

  • Pequenas correções na formatação da documentação para APIs existentes.