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.
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":
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:
- 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. - 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.
- 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.
Respuestas:
Actualización : en versiones recientes de Android puedes hacerlo desde Settings-> Google-> Instant Apps-> OFF.
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.).
O, si se ejecuta a través de adb en una PC mientras está conectado por cable (o wifi adb), use:
A diferencia
pm disable
pm hide
tambié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 hide
comando anterior use:fuente
com.google.android.instantapps.supervisor
la 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.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.
fuente
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)
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
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.
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.
fuente