Webview do sistema Android instalado, mas não usado por aplicativos


16

Baixei e instalei a versão mais recente do sistema Android WebView na loja de aplicativos do meu tablet Android (executando 5.0.2).

Mas os aplicativos ainda continuam usando a versão antiga do webview (39.0.0.0).

Como posso fazê-los trocar?

Para informações, tentei desativar o antigo e ele é reativado quando abro um aplicativo que usa a visualização na web.


2
Por curiosidade, como você sabe qual versão do Webview um aplicativo está usando?
— DukeSilversJazz

1
Tenho vindo a testar com vários aplicativos, como Droidscript e WebView navegador e visitou whatsmyuseragent
— Clémentine

Eu li a fonte Lollipop, e isso não deveria estar acontecendo. Ele deve usar o mais recente, a menos que o fabricante substitua a classe WebViewFactory pela sua. Qual dispositivo / modelo exato e versão fornecida pelo fabricante você está executando?
— Mufasa 21/03

Olá Musafa, por que você excluiu sua resposta?
— Clémentine 21/03

Estou usando tablets de baixo custo e experimentei várias marcas (digiflip da flipkart, time2), vou experimentar o lenovo TAB 2 A7 nos próximos dias
— Clémentine

Respostas:


19

Você não pode mudar isso sem raiz.

A estrutura do sistema é codificada para usar um pacote específico para aplicativos que solicitam um componente WebView. Por padrão (no AOSP), ele usa o valor com.android.webview, que é a versão compilada durante o processo de criação do AOSP. Em dispositivos de fabricantes que modificam esse componente, o nome do pacote pode ser diferente. Independentemente disso, para substituir o WebView fornecido com o dispositivo, você deve modificar esse valor com.google.android.webview.

A maneira "manual" de fazer isso seria extrair o arquivo framework-res.apk do seu dispositivo, descompilá-lo e alterar o valor da config_webViewPackageNamevariável de recurso. Ele deve estar localizado /res/values/strings.xmldentro do .apk. Depois de fazer isso, você precisará empacotar tudo e enviar o novo .apk ao seu dispositivo, substituindo o antigo.

Um método alternativo que você pode tentar é instalar a estrutura do Xposed e usar o módulo WebViewGoogle . Se você usa uma ROM personalizada, também pode encontrar um pacote que modifique permanentemente os componentes da estrutura necessários (ou pode ser criado para usar o WebView do Google por padrão).

Minha hipótese seria que essa restrição existe em parte porque o sistema depende de uma implementação do WebView existente de alguma forma; portanto, se ela puder ser modificada por um usuário, poderá interromper o sistema de maneiras estranhas. Também haveria implicações de segurança para permitir que os aplicativos substituíssem o WebView do sistema, como um ator mau tentando fornecer um malicioso sem que o usuário saiba.

Como um ponto de explicação adicional: o motivo pelo qual o System WebView está disponível na Play Store é que os dispositivos Nexus (e possivelmente outros) são enviados com ele pré-instalado e configurado para usá-lo. Com efeito, é o WebView do sistema para esses dispositivos. Assim, o Google pode fornecer atualizações do WebView para esses dispositivos por meio da Play Store, para que os OTAs completos do sistema não sejam necessários apenas para atualizar o navegador / WebView. Existem outros componentes que o Google migrou para a Play Store, atualizando de maneira semelhante, com o raciocínio sendo essencialmente mais rápido. Telefone e contatos foram dois dos mais recentes, com o artigo vinculado fornecendo alguns detalhes adicionais sobre o motivo pelo qual o Google adotou essa abordagem.


1
Obrigado por esta explicação .. mas, para que serve este aplicativo webview do sistema Android?
— Clémentine 11/03

1
Os dispositivos Clémentine Nexus (possivelmente outros) são enviados com ele pré-instalado e configurado para usá-lo. Com efeito, é o WebView do sistema para esses dispositivos. Assim, o Google pode fornecer atualizações do WebView para esses dispositivos por meio da Play Store, para que os OTAs completos do sistema não sejam necessários apenas para atualizar o navegador / WebView. Existem outros componentes que o Google migrou para a Play Store, atualizando de maneira semelhante, com o raciocínio sendo essencialmente mais rápido.
— Eldarerathis 11/03/16

1
por que todos os tablets com pirulito ou sistema operacional mais recente não o usam como o WebView do sistema padrão, parece um desperdício!
— Clémentine

1
@ Clémentine O controle do Google sobre fabricantes de terceiros é um pouco limitado. Eles provavelmente poderiam optar por usar o WebView de código fechado do Google da mesma forma que os dispositivos Nexus, mas podem optar por não usar por qualquer motivo. Não tenho certeza dos detalhes específicos sobre como o Google licencia seus aplicativos de código fechado para OEMs, mas esses termos (sejam eles quais forem) podem ser um fator na decisão do fabricante.
— eldarerathis

Obrigado por toda essa informação. Lançando luz sobre muitas perguntas que eu tinha no fundo da minha mente. Estará procurando um tablet que o tenha pré-instalado.
— Clémentine
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.