Contexte
" Les services Google Play pour les applications instantanées " se sont installés sur mon appareil sans ma permission. Il a cassé la fonctionnalité de mon pare-feu (AFWall et quelques autres applications). Et il se met à jour lui-même et d'autres applications / composants sans autorisation. Lorsque je désinstalle ce composant, il se télécharge à nouveau et s'installe immédiatement. (C'est-à-dire que ce sont probablement les "services Google Play" qui font cela en arrière-plan)
Il n'y a aucune confirmation ni aucune notification de téléchargement, de mise à jour ou d'installation de quoi que ce soit. La façon dont je l'ai découvert était en remarquant que certaines fonctionnalités de mes applications avaient été modifiées / cassées. J'ai donc utilisé une application ("System Info for Android") et cela montre qu'en fait ce "Google Play services pour Instant Apps" a été installé il y a un jour.
Ma question est: comment désactiver complètement les mises à jour non autorisées d'un appareil Android, tout en préservant les fonctionnalités suivantes:
- Synchronisation des contacts
- Google Play Store
- Application Google Maps
Dans ces captures d'écran, vous pouvez voir que tous les paramètres responsables des mises à jour automatiques sont désactivés. Par conséquent, ce téléchargement et cette installation ne sont clairement pas autorisés et ne devraient pas avoir lieu. La capture d'écran du paramètre Instant Apps apparaît une fois que la chose est déjà installée. Ne laissant que le paramètre global de Google Play Store.
Paramètres ›Applications // Paramètres› Google ›Applications instantanées (désactivées!) // Paramètres Play Store (mise à jour automatique désactivée!)
Tout a commencé après avoir suivi une suggestion trompeuse , vous pouvez voir dans cette capture d'écran, pour mettre à jour les "services Google Play":
cliquez sur l'image pour une plus grande variante
Mise à jour 1:
Ce que j'ai découvert jusqu'à présent, c'est que quelque chose (très probablement "Google Play Services") demande le téléchargement + l'installation. La façon dont il le fait est de placer la demande avec Google Download Manager. Manque de clarté ce qui déclenche, mais si l' appareil est en regardant de près une icône de Download Manager fait apparaître dans une notification indiquant le pourcentage de téléchargement. Cependant, une fois terminé, il disparaît instantanément. Pourtant, rien n'indique l'installation.
Ce que j'ai essayé jusqu'à présent:
- Installez le suivant comme niveau utilisateur au lieu des applications au niveau du système qu'ils sont à l' origine: compte Google, GP Store et cadre de service (
com.google.android.gms
;com.android.vending
;com.google.android.gsf
) Cela n'a pas marché . Le téléchargement est toujours demandé puis installé. - Il semble que tout moyen de bloquer l'installation le fera télécharger encore et encore (jusqu'à ce que vos données soient utilisées). La meilleure approche serait donc probablement d'empêcher le téléchargement en premier lieu. Je n'ai pas pu installer Download Manager en tant qu'application utilisateur, ce qui semble être la partie à contrôler.
- Bloquer le Gestionnaire de téléchargement et / ou le Play Store via un pare-feu est possible, mais cela brise la seule manière fiable de télécharger des applications.
Mise à jour 2:
La mise à niveau vers la version précédente de GP Services (v11.3.02) a fonctionné pendant quelques jours, mais aujourd'hui, les services GP pour Instant Apps ont été téléchargés et installés. Peu importe la version que vous utilisez. Il est fort probable que Google mettra à jour tous les téléphones de cette façon.
Mise à jour 3:
Alors maintenant, Google se met à jour régulièrement à peu près chaque fois qu'il en a envie. Si je diffuse un film, paralysant ma vitesse, utilisant ma bande passante Internet pour laquelle je paie de l'argent par Mo. Dans cette image, vous pouvez voir 3 applications Google mises à jour sans autorisation.
Réponses:
Mise à jour : dans les versions récentes d'Android, vous pouvez le faire à partir de Settings-> Google-> Instant Apps-> OFF.
Dans le meilleur des cas, cela devrait suffire à empêcher Instant Apps de se mettre à jour automatiquement.
Exécutez sur l'appareil via un terminal (connectbot, juicessh, etc.).
Ou, si vous exécutez via adb sur un PC tout en étant connecté via un câble (ou wifi adb), utilisez alors:
Contrairement à
pm disable
pm hide
fonctionne également sur les appareils non rootés. Jusqu'à présent, je n'ai plus vu de notifications Instant Apps apparaître.Si ce qui précède ne fonctionne pas pour vous, une autre approche serait de modifier le contexte SELinux du fichier / dossier (par exemple avec
chcon
).Pour annuler la
pm hide
commande ci-dessus, utilisez:la source
com.google.android.instantapps.supervisor
l'application qui effectue la surveillance n'est-elle pas mentionnée? Ou s'agit-il d'un service spécifique des services google play? Si c'est le deuxième, je suppose que la recette n'est pas terminée. J'ai également refusé au package l'autorisation de s'exécuter en arrière-plan et de démarrer au démarrage.Comme son nom l'indique, il fait partie des applications de services Google. PlayStore l'utilise pour exécuter des applications sans les installer (nouveau service). Il est possible de désactiver mais pas de supprimer (pour autant que je sache, il continuera à s'installer lui-même comme faisant partie des services de base).
Pour désactiver, accédez à Paramètres ›Google› Applications instantanées et activez l'interrupteur à bascule ( référence ).
Je crois que ce sera une application système sur les nouveaux appareils à leur sortie, pour le reste d'entre nous avec des appareils plus anciens, ils forceront simplement l'installation sur des appareils compatibles.
Edit: En raison du fait que la question a été modifiée après avoir répondu. Cette réponse s'applique à aucun appareil rooté. Avec un appareil rooté, cela pourrait être possible, mais je ne pense pas à une solution facile ou permanente.
la source
À propos de: [Root Only] Cette solution consiste à bloquer l'accès en écriture au dossier temp (cache) où Google télécharge ses applications système telles que les services Google Play, les services Google Play pour les applications instantanées, etc. C'est plus simple qu'il n'y paraît, car je suis tout expliquer, ça ressemble beaucoup. Ensuite, l'installation de nouvelles applications se fait essentiellement en 3 étapes et le processus est similaire à l'installation de programmes sur un PC.
Contexte: Sous mon système, les dossiers fonctionnent comme suit:
1)
/data/data/com.android.providers.downloads/cache
* Il s'agit du dossier dans lequel les mises à jour du système Google (ainsi que les nouvelles applications système) sont installées.
* Malheureusement, ce dossier est également utilisé pour télécharger de nouvelles applications normales. Vous ne pouvez donc pas simplement le bloquer définitivement. Vous devez pouvoir le bloquer / débloquer lors du téléchargement de nouvelles applications.
2)
/mnt/sdcard/Android/data/com.android.vending/files
* Ce dossier est utilisé pour mettre à jour les applications normales (non liées au système Google). Donc, pas besoin de bloquer cela ou de faire quoi que ce soit de spécial quand il s'agit de mettre à jour vos applications normales comme Facebook, jeux, etc.
Solution: le dossier de cache ci-dessus est verrouillé pendant le fonctionnement normal. Lorsque vous souhaitez installer une nouvelle application, le processus global est le suivant (bien que principalement automatisé): (1) déverrouiller le dossier de cache (2) verrouiller les dossiers d'application, au cas où il se faufiler pendant qu'il est débloqué et l'installe. (3) Téléchargez votre nouvelle application depuis la boutique (4) Copiez le programme téléchargé du dossier d'installation vers un autre endroit et renommez-le à partir du nom par défaut (download.apk) (5) Effacez et verrouillez le dossier du cache (6) déverrouillez les dossiers des applications ( 7) Cliquez sur le fichier apk pour l'installer.
Évidemment, vous ne voulez pas taper cela au terminal à chaque fois, ce sont donc des étapes automatisées. Ils impliquent l'utilisation de deux applications supplémentaires ainsi que l'installation de BusyBox (pour pouvoir utiliser la commande chattr par les scripts)
Le déverrouillage du verrouillage est réalisé par une application appelée Gscript. Vous pouvez utiliser n'importe quelle autre application permettant d'exécuter des scripts. Il existe une version dans Google Store, mais elle se bloque pour moi et pour les autres. Il y a une fourchette stable disponible ici: https://bitbucket.org/Equidamoid/gscript (Merci au post de l'auteur ici: /programming//a/20328927/7609435 ) Collez simplement ces deux scripts là-bas. (Les deux ont besoin de SU)
A) Exécuter avant le téléchargement - Verrouiller les applications / Déverrouiller le 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) Exécuter une fois le téléchargement terminé et après avoir copié le fichier - effacer et verrouiller le cache / déverrouiller les applications
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
Vous saurez que l'application est téléchargée lorsque le Play Store indique «Échec du téléchargement». Il dira cela car il n'a pas pu installer l'apk, mais le téléchargement a été réussi et se trouve dans le dossier cache . Avant d'exécuter le script (B) ci-dessus, vous devez déplacer le fichier du dossier de cache ailleurs. Vous pouvez le faire en utilisant n'importe quelle application bien sûr, mais j'aime utiliser Total Commander, car il peut avoir deux volets et il prend en charge les signets (j'y ai ajouté du cache ). Alors déplacez-le et renommez le fichier du nom par défaut en quelque chose d'autre, puis exécutez le script (B) ci-dessus. Notez également que lors de la copie de l'APK, il doit avoir une icône de l'application. S'il a l'icône par défaut, il s'agit probablement d'un téléchargement corrompu pour d'autres raisons indépendantes, vous pouvez donc réessayer de télécharger.
Maintenant, le dossier de cache est effacé et verrouillé et les dossiers d'applications sont déverrouillés. (vous pouvez vérifier que le dossier de cache est vide juste pour être sûr à 100% mais je doute que cela soit nécessaire) Vous pouvez maintenant installer l'APK que vous avez téléchargé.
Remarque 1: Si vous cliquez sur un nouveau téléchargement et qu'il est dit "en attente" fermez simplement Google Play et redémarrez-le, le téléchargement devrait commencer automatiquement.
Note2: J'ai testé cela avec seulement Android: 6.0.1 / MIUI: 8.5.3.0, donc cette solution n'est peut-être pas universelle. Vérifiez si vous disposez du dossier de cache et si le téléchargement des services Google Play y est en cours de téléchargement (une fois le téléchargement terminé, il y reste pendant un certain temps).
AVERTISSEMENT: il est bien de garder le dossier de cache verrouillé, mais si vous redémarrez votre téléphone alors que ces dossiers de données sont verrouillés, votre téléphone ne démarrera pas. Et vous devrez aller manuellement et le changer à partir du shell TWRP.
PS: je comprends que cette solution n'est pas pour tout le monde, mais si votre principale préoccupation est la stabilité et la maîtrise de l'utilisation des données, cela fonctionne ... pour l'instant. J'espère que quelqu'un trouvera une meilleure réponse que celle-ci.
la source