Os serviços do Google Play para aplicativos instantâneos baixam / instalam-se sem autorização, baixam / atualizam outros componentes, como desativar?

28

fundo

"Os serviços do Google Play para aplicativos instantâneos " se instalaram no meu dispositivo sem minha permissão. Ele quebrou a funcionalidade do meu firewall (AFWall e alguns outros aplicativos). E está se atualizando e outros aplicativos / componentes sem permissão. Quando desinstalo este componente, ele baixa novamente e instala de volta. (Ou seja, provavelmente os "serviços do Google Play" estão fazendo isso em segundo plano)

Não há confirmações nem notificações de qualquer download, atualização ou instalação. A maneira como descobri foi notando que algumas funcionalidades dos meus aplicativos foram alteradas / quebradas. Então, usei um aplicativo ("Informações do sistema para Android") e mostra que, na verdade, esse "serviço Google Play para aplicativos instantâneos" foi instalado há um dia.

Minha pergunta é: como desabilito completamente as atualizações não autorizadas de um dispositivo Android, preservando a seguinte funcionalidade:

  • Sincronização de contatos
  • Loja de aplicativos do Google
  • Aplicativo do Google Maps

Nestas capturas de tela, você pode ver que todas as configurações responsáveis ​​pelas atualizações automáticas estão desativadas. Portanto, esse download e instalação é claramente não autorizado e não deve estar acontecendo. A captura de tela da configuração de aplicativos instantâneos é exibida depois que a coisa já está instalada. Deixando apenas a configuração global da Google Play Store.

insira a descrição da imagem aqui
Configurações ›Aplicativos // Configurações› Google ›Aplicativos Instantâneos (desativado!) // Configurações da Play Store (Atualização automática desativada!)

Tudo começou depois que segui uma sugestão enganosa , você pode ver nesta captura de tela para atualizar os "serviços do Google Play":

insira a descrição da imagem aqui
clique na imagem para obter uma variante maior


Atualização 1:

O que descobri até agora é que algo (provavelmente "Google Play Services") está solicitando o download + a instalação. O jeito é fazer a solicitação com o Gerenciador de Download do Google. Claro o que aciona-lo, mas se o dispositivo observando de perto um ícone do Download Manager faz aparecer na notificação indicando o download percentual. No entanto, após a conclusão, ele desaparece instantaneamente. Ainda assim, não há nada indicando instalação.

O que eu tentei até agora:

  1. Instalar o seguinte como em nível de usuário em vez de aplicativos de nível de sistema que eles são originalmente: Conta do Google, GP Store, e Service Framework ( com.google.android.gms; com.android.vending; com.google.android.gsf) Isto não funcionou. O download ainda é solicitado e, posteriormente, instalado.
  2. Parece que qualquer forma de bloquear a instalação fará com que ele seja baixado repetidamente (até que seus dados sejam usados). Portanto, a melhor abordagem provavelmente seria impedir o download em primeiro lugar. Não consegui instalar o Download Manager como um aplicativo de usuário, que parece ser a parte que precisa ser controlada.
  3. É possível bloquear o Gerenciador de Download e / ou a Play Store via firewall, mas isso quebra a única maneira confiável de baixar aplicativos.

Atualização 2:

A atualização para a versão anterior do GP Services (v11.3.02) funcionou por alguns dias, mas hoje os serviços GP para aplicativos instantâneos foram baixados e instalados. Portanto, não importa qual versão você usa. Provavelmente o Google atualizará todos os telefones dessa maneira, independentemente.

Atualização 3:

Então agora o Google está se atualizando regularmente praticamente sempre que lhe apetecer. Se estou transmitindo um filme, prejudicando minha velocidade, usando minha largura de banda da Internet pela qual pago dinheiro por MB. Nesta imagem, você pode ver três aplicativos do Google atualizados sem permissão.

insira a descrição da imagem aqui

Emil
fonte
1
Olá, @Firelord Para deixar claro, estou falando de um "serviço Google Play para aplicativos instantâneos", e não do "serviço Google Play" padrão. O último é um desenvolvimento recente e está se comportando como um malware (embora seja o aplicativo oficial do Google). Eu não daria muitos detalhes das funções do aplicativo que quebraram principalmente porque provavelmente dependerá de um dispositivo / ROM (eu estou executando a ROM padrão e está enraizada, mas por uma questão de pergunta) para encontrar uma solução não-raiz "normal"). O AFWall quebrou de tal maneira que me deu o erro "Falha ao aplicar regras", de forma intermitente.
Emil
1
@ Izzy, obrigado pelas edições, torna mais claro.
Emil
1
Fico feliz em ler, Emil! E sim, teste um pouco mais. Quando não há efeitos colaterais, considere responder à sua própria pergunta :)
Izzy
1
Aqui está o link para a discussão relacionada no fórum do Google Play.
Stan
3
Olá @frans, o problema é que não são apenas a largura de banda / os custos. Também é a instalação de software indesejado que estou tentando impedir. Além disso, faço download de aplicativos e atualizações pela Internet do telefone, pois atualmente não tenho acesso ao Wi-Fi. E outra coisa é que esse atualizador "escuta" as alterações de estado; portanto, se você alternar para o WiFi, ele prioriza as coisas do Google e as indica primeiro imediatamente. Na solução alternativa que publiquei abaixo, é basicamente uma condição de corrida que eu baixaria algum aplicativo antes que percebesse que é possível baixar atualizações, mas depois bloqueio-o novamente, mas não é uma maneira 100% confiável.
Emil

Respostas:

7

Atualização : nas versões mais recentes do Android, você pode fazer isso em Settings-> Google-> Instant Apps-> OFF.

A resposta original segue abaixo:

Na melhor das hipóteses, isso deve ser suficiente para impedir a atualização automática de aplicativos instantâneos.

Execute no dispositivo através de um terminal (connectbot, juicessh, etc).

pm hide com.google.android.instantapps.supervisor

Ou, se estiver executando via adb em um PC enquanto estiver conectado via cabo (ou wifi adb), use:

adb shell pm hide com.google.android.instantapps.supervisor

Ao contrário pm disable pm hidetambém funciona em dispositivos não-enraizados. Até agora, não vi mais nenhuma notificação do Instant Apps aparecendo.

Se o descrito acima não funcionar para você, outra abordagem seria modificar o contexto do SELinux do arquivo / pasta (por exemplo, com chcon).


Para reverter o pm hidecomando acima, use:

pm unhide com.google.android.instantapps.supervisor
ccpizza
fonte
Bem, isso seria direcionado para esse aplicativo em particular, mas eu gostaria de bloquear todas as atualizações não autorizadas ou a instalação de novos aplicativos. Além disso, esse tipo de instalação e download em "nível de sistema" acontece oculto ao usuário. O modo como funciona é: ele verifica a versão e, se precisar ser atualizado, faz o download de um arquivo nos bastidores. Uma vez concluído o download, ele tenta instalar e, se a instalação falhar, tentará novamente em outro momento. Os arquivos temporários são excluídos periodicamente, por isso, se não puder encontrá-lo ... ele será baixado novamente. Se você monitorar temperatura pasta que você pode pegá-lo fazendo isso mais e mais ...
Emil
@Emil: não é com.google.android.instantapps.supervisoro aplicativo que está fazendo o monitoramento que você mencionou? Ou é algum serviço específico dos serviços do Google Play? Se for o segundo, acho que a receita não está completa. Eu também neguei a permissão do pacote para executar em segundo plano e iniciar na inicialização.
Ccpizza
Não consegui identificar exatamente o que faz o monitoramento. No Android, existe um sistema de configuração de ouvintes e existem alguns aplicativos que pretendem ajustá-los, mas eles provaram ser ineficazes. Não consegui encontrar uma maneira de acessar / controlar essa "fila" diretamente ou interceptá-la de alguma forma. Basicamente tudo o que o Google considera como o núcleo, pode ir ao redor as configurações para aplicativos comuns
Emil
3

Como o nome sugere, faz parte dos aplicativos de serviços do Google. O PlayStore usa-o para executar aplicativos sem instalá-los (novo serviço). É possível desativar, mas não remover (tanto quanto eu sei, ele continuará instalando-se como parte dos serviços principais).

Para desativar, vá para Configurações ›Google› Aplicativos Instantâneos e mude o botão de alternância ( Referência ).

Acredito que este será um aplicativo de sistema em dispositivos mais novos à medida que forem lançados. Para o resto de nós com dispositivos mais antigos, eles apenas forçarão a instalação em dispositivos compatíveis.

Edit: Devido ao fato de que a pergunta foi alterada depois que eu respondi. Esta resposta se aplica a nenhum dispositivo raiz. Com um dispositivo enraizado, isso seria possível, mas não consigo pensar em uma solução fácil ou permanente.

Josue Rivera
fonte
Vamos continuar esta discussão no chat .
21419 Josue Rivera
@Emil Acabei de limpar todos os comentários, exceto o link para o seu bate-papo (onde os comentários ainda estão disponíveis). Além disso, não posso concordar com você que isso não é uma resposta: na sua pergunta, você escreveu "parece não haver uma maneira fácil de desativar permanentemente" e "Minha pergunta é: como desabilito completamente essa funcionalidade" - que é o que Josue apresenta nesta postagem: "Para desativar, vá para Configurações, Google, Aplicativos instantâneos e alterne a alternância". Se você fez isso e não funcionou, indique isso.
Izzy
1
De qualquer forma, acabei de tentar explicar isso. Ele fez uma pergunta, eu basicamente disse que não, expliquei o motivo e dei informações para qualquer pessoa que pudesse se encontrar em situações semelhantes. A pergunta foi alterada, editei para expressar que minha resposta se aplicava à pergunta original. Se eu não entender como as regras funcionam aqui, exclua minha resposta e deixe-me saber como posso fazer melhor.
Josue Rivera
1
@JosueRivera deixe que, se você estiver satisfeito, não está errado. Se a resposta estiver errada, as pessoas podem votar novamente e seguir em frente.
Firelord
1
Ele é atualizado automaticamente mesmo quando desativado. Eu o desliguei há mais de um mês e ele é atualizado automaticamente novamente hoje.
tgf
1

Sobre: [Somente raiz] Esta solução envolve o bloqueio do acesso de gravação à pasta temp (cache), na qual o Google baixa seus aplicativos do sistema, como o Google Play Services, o Google Play para aplicativos instantâneos, etc. É mais simples do que parece, porque eu sou explicando tudo, parece muito. Posteriormente, a instalação de novos aplicativos passa a ser 3 etapas e o processo é semelhante à instalação de programas em um PC.


Segundo plano: no meu sistema, as pastas funcionam da seguinte maneira:

1) /data/data/com.android.providers.downloads/cache
* Esta é a pasta na qual as atualizações do sistema do Google (bem como os Novos aplicativos do sistema) estão instaladas.
* Infelizmente, esta pasta também é usada para baixar novos aplicativos normais. Então você não pode simplesmente bloqueá-lo permanentemente. Você deve poder bloqueá-lo / desbloqueá-lo ao baixar novos aplicativos.

2) /mnt/sdcard/Android/data/com.android.vending/files
* Esta pasta é usada para atualizar normal (aplicativos que não são do sistema Google). Portanto, não há necessidade de bloquear isso ou fazer algo especial quando se trata de atualizar seus aplicativos normais, como Facebook, jogos etc.


Solução: A pasta de cache acima é mantida bloqueada durante a operação normal. Quando você deseja instalar um novo aplicativo, o processo geral é o seguinte (embora principalmente automatizado): (1) desbloqueie a pasta do cache (2) bloqueie as pastas do aplicativo, caso ele se infiltre enquanto estiver desbloqueado e o instale. (3) Baixe seu novo aplicativo da loja (4) Copie o programa baixado da pasta de instalação para outro local e renomeie-o do nome padrão (download.apk) (5) Limpe e bloqueie a pasta de cache (6) desbloqueie as pastas de aplicativos ( 7) Clique no arquivo apk para instalá-lo.

Obviamente, você não deseja digitar isso no terminal toda vez, para que sejam etapas automatizadas. Elas envolvem o uso de dois aplicativos adicionais e o BusyBox instalado (para poder usar o comando chattr pelos scripts)

  1. O desbloqueio do bloqueio é obtido por um aplicativo chamado Gscript. Você pode usar qualquer outro aplicativo que atinja a execução de scripts. Há uma versão na google store, mas ela trava para mim e para outras pessoas. Há uma bifurcação estável disponível aqui: https://bitbucket.org/Equidamoid/gscript (Graças à postagem do autor aqui: https://stackoverflow.com/a/20328927/7609435 ) Basta colar esses dois scripts lá. (Ambos precisam de SU)

    A) Executar antes do download - Bloquear aplicativos / Desbloquear cache

    chattr +i /data/data/* chattr +i /data/data chattr +i /data/app/* chattr +i /data/app chattr -i /data/data/com.android.providers.downloads/cache

    B) Executar após a conclusão do download e após a cópia do arquivo - limpe e bloqueie os aplicativos de cache / desbloqueio

    rm /data/data/com.android.providers.downloads/cache/* chattr +i /data/data/com.android.providers.downloads/cache chattr -i /data/data/* chattr -i /data/data chattr -i /data/app/* chattr -i /data/app

  2. Você saberá que o aplicativo foi baixado quando a Play Store indicar "falha no download". Ele diz isso porque não conseguiu instalar o apk, mas foi realmente um download bem-sucedido e está dentro da pasta de cache . Antes de executar o script (B) acima, você deve mover o arquivo da pasta cache para outro local. Você pode fazer isso usando qualquer aplicativo, é claro, mas eu gosto de usar o Total Commander, porque ele pode ter dois painéis e suporta marcadores (adicionei cache a ele). Portanto, mova-o e renomeie o arquivo do nome padrão para outra coisa e execute o script (B) acima. Observe também que, ao copiar o APK, ele deve ter um ícone do aplicativo. Se tiver o ícone padrão, provavelmente o download está corrompido devido a outros motivos não relacionados, para que você possa tentar fazer o download novamente.

  3. Agora a pasta de cache está limpa e bloqueada e as pastas de aplicativos estão desbloqueadas. (você pode verificar se a pasta do cache está vazia apenas para ter 100% de certeza, mas duvido que isso seja necessário) Agora você pode instalar o APK que você baixou.

Nota1: se você clicar em um novo download e aparecer "pendente" apenas (forçar) para fechar o Google Play e reiniciá-lo, ele deverá iniciar o download automaticamente.

Nota2: Eu testei isso apenas com o Android: 6.0.1 / MIUI: 8.5.3.0, portanto, esta solução pode não ser universal. Verifique se você possui a pasta de cache e se o download do Google Play Services está sendo carregado lá (depois que o upload é concluído, ele fica lá por um tempo).

AVISO: Não há problema em manter a pasta de cache bloqueada, mas se você reiniciar o telefone enquanto essas pastas de dados estiverem bloqueadas, o telefone não inicializará. E você precisará ir manualmente e alterá-lo do shell TWRP.

PS: Entendo que esta solução não é para todos, mas se sua principal preocupação é a estabilidade e a manutenção do uso de dados sob controle, isso funciona ... por enquanto. Espero que alguém tenha uma resposta melhor do que essa.

Emil
fonte
Isenção de responsabilidade: agora que seu telefone não é mais atualizado automaticamente, se houver uma vulnerabilidade no sistema anterior do Google, você poderá ser exposto. No entanto, pessoalmente, considero uma vulnerabilidade quando algo pode ser instalado sem permissão explícita.
Emil