Los servicios de Google Play para aplicaciones instantáneas se descargan / instalan sin autorización, descargan / actualizan otros componentes, ¿cómo deshabilitarlos?

28

Fondo

"Servicios de Google Play para aplicaciones instantáneas " se ha instalado en mi dispositivo sin mi permiso. Se rompió la funcionalidad de mi cortafuegos (AFWall y un par de otras aplicaciones). Y se está actualizando a sí mismo y a otras aplicaciones / componentes sin permiso. Cuando desinstalo este componente, se descarga nuevamente y se instala de nuevo. (Es decir, lo más probable es que los "servicios de Google Play" estén haciendo esto en segundo plano)

No hay confirmaciones ni notificaciones de nada descargando, actualizando o instalando. La forma en que lo descubrí fue al notar que algunas funciones de mis aplicaciones cambiaron / se rompieron. Así que usé una aplicación ("Información del sistema para Android") y muestra que, de hecho, este "Servicios de Google Play para aplicaciones instantáneas" se instaló hace un día.

Mi pregunta es: ¿cómo deshabilito completamente las actualizaciones no autorizadas de un dispositivo Android, pero conservando la siguiente funcionalidad:

  • Sincronización de contactos
  • Google Play Store
  • Aplicación Google Maps

En estas capturas de pantalla, puede ver que todas las configuraciones responsables de las actualizaciones automáticas están desactivadas. Por lo tanto, esta descarga e instalación está claramente no autorizada y no debería estar sucediendo. La captura de pantalla de la configuración de Aplicaciones instantáneas aparece después de que la cosa ya está instalada. Dejando solo la configuración global de Google Play Store.

ingrese la descripción de la imagen aquí
Configuración ›Aplicaciones // Configuración› Google ›Aplicaciones instantáneas (desactivado) // Configuración de Play Store (¡Actualización automática desactivada!)

Todo comenzó después de haber seguido una sugerencia engañosa , puedes ver en esta captura de pantalla, para actualizar los "servicios de Google Play":

ingrese la descripción de la imagen aquí
haga clic en la imagen para una variante más grande


Actualización 1:

Lo que he descubierto hasta ahora es que algo (muy probablemente "Servicios de Google Play") está solicitando la descarga + instalación. La forma en que lo hace es haciendo la solicitud con Google Download Manager. No está claro qué lo desencadena, pero si observa el dispositivo de cerca, aparece un icono del Administrador de descargas en la notificación que indica el porcentaje de descarga. Sin embargo, al finalizar, desaparece instantáneamente. Aún así, no hay nada que indique instalación.

Lo que he probado hasta ahora:

  1. Instalar el siguiente como a nivel de usuario en lugar de aplicaciones a nivel de sistema que son originalmente: cuenta de Google, GP tienda, y el Marco de Servicio ( com.google.android.gms; com.android.vending; com.google.android.gsf) Esto no funcionó. La descarga aún se solicita y, posteriormente, se instala.
  2. Parece que cualquier forma de bloquear la instalación hará que se descargue una y otra vez (hasta que se agoten sus datos). Por lo tanto, el mejor enfoque más probable sería evitar la descarga en primer lugar. No pude instalar Download Manager como una aplicación de usuario, que parece ser la parte que necesita ser controlada.
  3. Es posible bloquear el Download Manager y / o Play Store a través del firewall, pero eso rompe la única forma confiable de descargar aplicaciones.

Actualización 2:

La actualización a la versión anterior de GP Services (v11.3.02) funcionó durante unos días, pero hoy se descargaron e instalaron los servicios GP para Instant Apps. Entonces, no importa qué versión uses. Lo más probable es que Google actualice todos los teléfonos de esta manera independientemente.

Actualización 3:

Así que ahora Google se está actualizando de manera regular cada vez que lo desea. Si estoy transmitiendo una película, paralizando mi velocidad, usando mi ancho de banda de Internet por el cual pago dinero por MB. En esta imagen, puede ver que 3 aplicaciones de Google se actualizaron sin permiso.

ingrese la descripción de la imagen aquí

Emil
fuente
1
Hola, @Firelord Para que quede claro, estoy hablando de los "servicios de Google Play para aplicaciones instantáneas", no de los "servicios estándar de Google Play". Este último es un desarrollo reciente y se comporta como un malware (aunque es una aplicación oficial de Google). No detallaría demasiado las funciones de la aplicación que rompió principalmente porque probablemente dependerá de un dispositivo / ROM (estoy ejecutando ROM estándar y está rooteado, pero por el bien de la pregunta me gustaría para encontrar una solución "normal" no rooteada). AFWall se rompió de tal manera que me da el error "Error al aplicar las reglas" de forma intermitente.
Emil
1
@Izzy gracias por las ediciones, lo hace más claro.
Emil
1
Me alegro de leer, Emil! Y sí, pruébalo un poco más. Cuando no haya efectos secundarios, considere responder su propia pregunta :)
Izzy
1
Aquí está el enlace a la discusión relacionada en el foro de Google Play.
Stan
3
Hola @frans, la cuestión no es solo el ancho de banda / los costos. También es la instalación de software no deseado lo que estoy tratando de evitar. Además, descargo aplicaciones y actualizaciones a través de Internet del teléfono, ya que actualmente no tengo acceso a WiFi. Y otra cosa es que este actualizador "escucha" los cambios de estado, por lo que si cambia a WiFi, prioriza las cosas de Google y las detecta primero de inmediato. En la solución que publiqué a continuación, es básicamente una condición de carrera, descargaría alguna aplicación antes de que se dé cuenta de que es posible descargar actualizaciones, pero luego la bloqueo nuevamente, pero esa no es una manera 100% confiable.
Emil

Respuestas:

7

Actualización : en versiones recientes de Android puedes hacerlo desde Settings-> Google-> Instant Apps-> OFF.

La respuesta original sigue a continuación:

En el mejor de los casos, esto debería ser suficiente para evitar que las aplicaciones instantáneas se actualicen automáticamente.

Ejecutar en el dispositivo a través de un terminal (connectbot, juicessh, etc.).

pm hide com.google.android.instantapps.supervisor

O, si se ejecuta a través de adb en una PC mientras está conectado por cable (o wifi adb), use:

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

A diferencia pm disable pm hidetambién funciona en dispositivos no rooteados. Hasta ahora, no he visto más notificaciones de aplicaciones instantáneas.

Si lo anterior no funciona para usted, otro enfoque sería modificar el contexto SELinux del archivo / carpeta (por ejemplo, con chcon).


Para revertir el pm hidecomando anterior use:

pm unhide com.google.android.instantapps.supervisor
ccpizza
fuente
Bueno, eso apuntaría a esa aplicación en particular, pero me gustaría bloquear todas las actualizaciones no autorizadas o la instalación de nuevas aplicaciones. Además, este tipo de instalación y descarga de "nivel de sistema" ocurre oculto para el usuario. La forma en que funciona es que verifica la versión y, si es necesario actualizarla, descarga un archivo detrás de escena. Una vez que se completa la descarga, intenta realizar la instalación y, si la instalación falla, lo intentará nuevamente en otro momento. Los archivos temporales se eliminan periódicamente, por lo que si no puede encontrarlo ... lo descargará nuevamente. Si supervisa la carpeta Temp puede cogerlo hacer esto una y otra vez ...
Emil
@Emil: ¿no es com.google.android.instantapps.supervisorla aplicación que está haciendo el monitoreo que mencionas? ¿O es algún servicio específico de los servicios de Google Play? Si es el segundo, supongo que la receta no está completa. También he negado el permiso del paquete para ejecutarse en segundo plano y comenzar en el arranque.
ccpizza
No pude determinar exactamente qué hace el monitoreo. En Android hay un sistema de configuración de oyentes y hay un par de aplicaciones que afirman ajustarlas, pero resultaron ser ineficaces. No pude encontrar una manera de acceder / controlar esta "cola" directamente o interceptarla de alguna manera. Básicamente, todo lo que Google considera como núcleo puede cambiar la configuración de las aplicaciones comunes
Emil
3

Como su nombre indica, es parte de las aplicaciones de servicios de Google. PlayStore lo usa para ejecutar aplicaciones sin instalarlas (nuevo servicio). Es posible deshabilitar pero no eliminar (por lo que sé, solo seguirá instalándose como parte de los servicios principales).

Para deshabilitar, vaya a Configuración ›Google› Aplicaciones instantáneas y cambie el interruptor de palanca ( Referencia ).

Creo que esta será una aplicación de sistema en dispositivos más nuevos a medida que salgan, para el resto de nosotros con dispositivos más antiguos, simplemente forzarán la instalación en dispositivos compatibles.

Editar: Debido al hecho de que la pregunta fue enmendada después de que respondí. Esta respuesta se aplica a dispositivos no rooteados. Con un dispositivo rooteado podría ser posible, pero no puedo pensar en una solución que sea fácil o permanente.

Josue Rivera
fuente
Continuemos esta discusión en el chat .
Josue Rivera
@Emil Acabo de limpiar todos los comentarios, excepto el enlace a su chat (donde los comentarios todavía están disponibles). Además, no puedo estar de acuerdo con usted en que esto no es una respuesta: en su pregunta escribió "parece que no hay una manera fácil de desactivar permanentemente" y "Mi pregunta es: ¿cómo desactivo esta funcionalidad por completo", que es lo que Josue se presenta en esta publicación: "Para deshabilitar, vaya a Configuración, Google, Aplicaciones instantáneas y cambie el interruptor de palanca". Si lo ha hecho y no funcionó, indíquelo.
Izzy
1
De todos modos he terminado de tratar de explicar esto. Hizo una pregunta, básicamente dije que no, le expliqué por qué y le di información a cualquier otra persona que pudiera encontrarse en situaciones similares. La pregunta fue modificada, edité para expresar que mi respuesta se aplicaba a la pregunta original. Si no entiendo cómo funcionan las reglas aquí, elimine mi respuesta y hágame saber cómo puedo hacerlo mejor.
Josue Rivera
1
@JosueRivera deja eso si estás satisfecho de que no estás equivocado. Si la respuesta es incorrecta, la gente puede rechazarla y seguir adelante.
Señor del Fuego
1
Se actualiza automáticamente incluso cuando está desactivado. Lo apagué hace más de un mes y hoy se volvió a actualizar automáticamente.
tgf
1

Acerca de: [Solo raíz] Esta solución implica bloquear el acceso de escritura a la carpeta temporal (caché) donde Google descarga sus aplicaciones del sistema, como los servicios de Google Play, los servicios de Google Play para aplicaciones instantáneas, etc. Es más simple de lo que parece, porque estoy explicando todo, parece mucho. Posteriormente, la instalación de nuevas aplicaciones se convierte esencialmente en 3 pasos y el proceso es similar a la instalación de programas en una PC.


Antecedentes: en mi sistema, las carpetas funcionan de la siguiente manera:

1) /data/data/com.android.providers.downloads/cache
* Esta es la carpeta donde están instaladas las actualizaciones del sistema de Google (así como las nuevas aplicaciones del sistema).
* Desafortunadamente, esta carpeta también se usa para descargar nuevas aplicaciones normales. Entonces no puedes simplemente bloquearlo permanentemente. Debe poder bloquearlo / desbloquearlo al descargar nuevas aplicaciones.

2) /mnt/sdcard/Android/data/com.android.vending/files
* Esta carpeta se utiliza para actualizar normal (aplicaciones que no son del sistema Google). Por lo tanto, no es necesario bloquear esto ni hacer nada especial cuando se trata de actualizar sus aplicaciones normales como Facebook, juegos, etc.


Solución: la carpeta de caché anterior se mantiene bloqueada durante el funcionamiento normal. Cuando desee instalar una nueva aplicación, el proceso general es el siguiente (aunque en su mayoría automatizado): (1) desbloquear la carpeta de caché (2) bloquear las carpetas de la aplicación, en caso de que se cuela mientras está desbloqueado y lo instale. (3) Descargue su nueva aplicación de la tienda (4) Copie el programa descargado de la carpeta de instalación a otro lugar y cámbiele el nombre por el nombre predeterminado (download.apk) (5) Borre y bloquee la carpeta de caché (6) desbloquee las carpetas de aplicaciones ( 7) Haga clic en el archivo apk para instalarlo.

Obviamente, no desea escribir esto en la terminal cada vez, por lo que estos son pasos automatizados. Implican el uso de dos aplicaciones adicionales, así como la instalación de BusyBox (para poder usar el comando chattr mediante los scripts)

  1. El bloqueo de desbloqueo se logra mediante una aplicación llamada Gscript. Puede usar cualquier otra aplicación que logre la ejecución de scripts. Hay una versión en la tienda de Google, pero se bloquea para mí y para otras personas. Hay una bifurcación estable disponible aquí: https://bitbucket.org/Equidamoid/gscript (Gracias a la publicación del autor aquí: https://stackoverflow.com/a/20328927/7609435 ) Simplemente pegue estos dos scripts allí. (Ambos necesitan SU)

    A) Ejecutar antes de descargar: bloquear aplicaciones / desbloquear caché

    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) Ejecutar después de completar la descarga y después de copiar el archivo: borre y bloquee las aplicaciones de caché / desbloqueo

    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. Sabrá que la aplicación se descarga cuando Play Store dice "error de descarga". Dirá eso porque no pudo instalar el apk, pero en realidad fue una descarga exitosa y se encuentra dentro de la carpeta de caché . Antes de ejecutar el script (B) anterior, debe mover el archivo desde la carpeta de caché a otro lugar. Puede hacerlo usando cualquier aplicación, por supuesto, pero me gusta usar Total Commander, porque puede tener dos paneles y admite marcadores (le agregué caché ). Así que muévalo y cambie el nombre del archivo de nombre predeterminado a otro y luego ejecute el script (B) anterior. También tenga en cuenta que al copiar el APK debe tener un ícono de la aplicación. Si tiene el icono predeterminado, probablemente sea una descarga corrupta debido a otras razones no relacionadas, por lo que puede intentar descargar nuevamente.

  3. Ahora la carpeta de caché está limpia y bloqueada y las carpetas de aplicaciones están desbloqueadas. (puede verificar que la carpeta de caché esté vacía solo para estar 100% seguro, pero dudo que sea necesario) Ahora puede instalar el APK que descargó.

Nota 1: Si hace clic en una nueva descarga y dice "pendiente" simplemente (forzar) cerrar Google Play y reiniciarlo, debería comenzar a descargarse automáticamente.

Nota 2: He probado esto solo con Android: 6.0.1 / MIUI: 8.5.3.0, por lo que esta solución podría no ser universal. Verifique si tiene la carpeta de caché y si la descarga de los Servicios de Google Play se está cargando allí (una vez que finaliza la carga, permanece allí por un tiempo).

ADVERTENCIA: está bien mantener la carpeta de caché bloqueada, pero si reinicia su teléfono mientras esas carpetas de datos están bloqueadas, su teléfono no se iniciará. Y deberá ir manualmente y cambiarlo desde el shell TWRP.

PD: Entiendo que esta solución no es para todos, pero si su principal preocupación es la estabilidad y mantener el uso de datos bajo control, esto funciona ... por ahora. Esperemos que alguien encuentre una respuesta mejor que esta.

Emil
fuente
Descargo de responsabilidad: ahora que su teléfono ya no se actualiza automáticamente, si existe una vulnerabilidad con el sistema anterior de Google, podría estar expuesto. Sin embargo, personalmente, considero una vulnerabilidad cuando algo se puede instalar sin permiso explícito.
Emil