29 votes

Les services Google Play pour les applications instantanées se téléchargent/installent sans autorisation, téléchargent/mettent à jour d'autres composants, comment les désactiver ?

Contexte

" Services Google Play pour Instant Apps "s'est installé sur mon appareil sans ma permission. C'est cassé la fonctionnalité de mon pare-feu (AFWall et quelques autres applications). Il se met à jour et met à jour d'autres applications/composants sans autorisation. Lorsque je désinstalle ce composant, il se télécharge à nouveau et s'installe à nouveau. (C'est-à-dire que c'est très probablement "Google Play services" qui fait cela en arrière-plan).

Il n'y a aucune confirmation et aucune notification de téléchargement, de mise à jour ou d'installation. J'ai découvert ce problème en remarquant que certaines fonctionnalités de mes applications avaient été modifiées/rompues. J'ai donc utilisé une application ("System Info for Android") et elle montre qu'en fait ce "Google Play services for Instant Apps" a été installé il y a un jour.

Ma question est la suivante : 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 sont clairement non autorisés et ne devraient pas avoir lieu. La capture d'écran de la configuration des applications instantanées s'affiche après que la chose soit déjà installée. Il ne reste que le paramètre global du Google Play Store.

enter image description here
Paramètres ' Apps // Paramètres ' Google ' Instant Apps (désactivé !) // Paramètres du Play Store (mise à jour automatique désactivée !)

Tout a commencé après que j'ai suivi un suggestion trompeuse vous pouvez voir dans cette capture d'écran, pour mettre à jour "Google Play services" :

enter image description here
cliquez sur l'image pour l'agrandir


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 et l'installation. La façon dont il le fait est de placer la demande avec Google Download Manager. On ne sait pas ce qui le déclenche, mais si l'on observe attentivement l'appareil, une icône du gestionnaire de téléchargement apparaît. fait s'affiche dans la notification indiquant le pourcentage de téléchargement. Cependant, à la fin du téléchargement, elle disparaît instantanément. Pourtant, il n'y a rien qui indique l'installation.

Ce que j'ai essayé jusqu'à présent :

  1. Installez les applications suivantes en tant qu'applications de niveau utilisateur au lieu des applications de niveau système qu'elles sont à l'origine : Compte Google, GP Store, et Service Framework ( com.google.android.gms ; com.android.vending ; com.google.android.gsf ) Cela n'a pas fonctionné. Le téléchargement est toujours demandé et ensuite, installé.
  2. Il semble que tout moyen de bloquer l'installation la fera télécharger encore et encore (jusqu'à ce que vos données soient épuisées). Donc, la meilleure approche serait 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 qui doit être contrôlée.
  3. Il est possible de bloquer le Download Manager et/ou le Play Store via un pare-feu, mais cela détruit le seul moyen fiable de télécharger des applications.

Mise à jour 2 :

La rétrogradation vers la version précédente de GP Services (v11.3.02) a fonctionné pendant quelques jours, mais aujourd'hui, GP Services pour Instant Apps a été téléchargé et installé. Donc, peu importe la version que vous utilisez. Il est fort probable que Google mette à jour tous les téléphones de cette manière.

Mise à jour 3 :

Maintenant, Google se met à jour régulièrement, à peu près quand il en a envie. Si je suis en train de regarder un film en streaming, cela paralyse ma vitesse, utilise ma bande passante pour laquelle je paie de l'argent par Mo. Dans cette image, vous pouvez voir que 3 applications Google ont été mises à jour sans autorisation.

enter image description here

7voto

ccpizza Points 465

更新情報 : Dans les versions récentes d'Android, vous pouvez le faire à partir de <strong>Settings</strong> -> <strong>Google</strong> -> <strong>Instant Apps</strong> -> <strong>OFF</strong> .

La réponse originale suit ci-dessous :

Dans le meilleur des cas, cela devrait suffire à empêcher les applications instantanées de se mettre à jour automatiquement.

Exécuter sur le dispositif via un terminal (connectbot, juicessh, etc).

pm hide com.google.android.instantapps.supervisor

Ou, si vous utilisez adb sur un ordinateur connecté par câble (ou adb wifi), alors utilisez :

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

Contrairement à pm disable pm hide fonctionne également sur les appareils non enracinés. Jusqu'à présent, je n'ai pas vu apparaître d'autres notifications d'applications instantanées.

Si ce qui précède ne fonctionne pas pour vous, une autre approche consisterait à modifier le contexte SELinux du fichier/dossier (par exemple avec chcon ).


Pour rétablir la pm hide au-dessus de l'utilisation de la commande :

pm unhide com.google.android.instantapps.supervisor

3voto

Josue Rivera Points 102

Comme son nom l'indique, il fait partie des applications des services Google. PlayStore l'utilise pour exécuter des applications sans les installer (nouveau service). Il est possible de le désactiver mais pas de le supprimer (pour autant que je sache, il continuera à s'installer tout seul car il fait partie des services de base).

Pour le désactiver, allez sur Paramètres ' Google ' Instant Apps et mettez l'interrupteur à bascule ( Référence ).

Je pense que ce sera une application système sur les nouveaux appareils dès leur sortie, pour le reste d'entre nous avec des appareils plus anciens, ils vont juste forcer l'installation sur les appareils compatibles.

Edit : En raison du fait que la question a été modifiée après que j'ai répondu. Cette réponse s'applique aux appareils non enracinés. Avec un appareil enraciné, c'est possible mais je ne vois pas de solution facile ou permanente.

1voto

Emil Points 742

A propos : [Cette solution consiste à bloquer l'accès en écriture au dossier temporaire (cache) dans lequel Google télécharge ses applications système telles que Google Play Services, Google Play services for Instant Apps, etc. C'est plus simple qu'il n'y paraît, parce que j'explique tout, ça a l'air de faire beaucoup. Après, l'installation de nouvelles apps se fait essentiellement en 3 étapes et le processus est similaire à l'installation de programmes sur un PC.


Le contexte : Sous mon système, les dossiers fonctionnent comme suit :

1) /data/data/com.android.providers.downloads/cache
* Il s'agit du dossier où sont installées les mises à jour du système Google (ainsi que les nouvelles applications du système).
* Malheureusement, ce dossier est également utilisé pour le téléchargement de nouvelles applications normales. Vous ne pouvez donc pas le bloquer de façon permanente. Vous devez être en mesure de 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). Il n'est donc pas nécessaire de le bloquer, ni de faire quoi que ce soit de spécial lorsqu'il s'agit de mettre à jour vos applications normales comme Facebook, les jeux, etc.


Solution : Le site cache Le dossier ci-dessus reste verrouillé pendant le fonctionnement normal. Lorsque vous voulez installer une nouvelle application, le processus global est le suivant (bien que principalement automatisé) : (1) déverrouiller cache dossier (2) verrouiller les dossiers d'applications, au cas où il se faufile 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 cache (6) déverrouiller les dossiers d'applications (7) cliquer sur le fichier apk pour l'installer.

Il est évident que vous ne voulez pas taper cela au terminal à chaque fois, il s'agit donc d'étapes automatisées. Elles impliquent l'utilisation de deux applications supplémentaires ainsi que l'installation de BusyBox (pour pouvoir utiliser la commande chattr par les scripts).

  1. Le verrouillage et le déverrouillage sont réalisés par une application appelée Gscript. Vous pouvez utiliser n'importe quelle autre application qui permet l'exécution de scripts. Il y a une version dans le google store, mais elle plante pour moi et d'autres personnes. Il y a un fork stable disponible ici : https://bitbucket.org/Equidamoid/gscript (Merci au post de l'auteur ici : https://stackoverflow.com/a/20328927/7609435 ) Il suffit d'y coller ces deux scripts. (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écutez après le téléchargement 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

  2. Vous saurez que l'application a été téléchargée lorsque le Play Store indiquera "download failed". Il dira cela parce qu'il n'a pas pu installer l'apk, mais le téléchargement a en fait réussi et l'apk se trouve dans le dossier de l'application. cache dossier. Avant d'exécuter le script (B) ci-dessus, vous devez déplacer le fichier de cache dossier ailleurs. Vous pouvez le faire en utilisant n'importe quelle application bien sûr, mais j'aime utiliser Total Commander, parce qu'il peut avoir deux volets et il supporte les signets (j'ai ajouté cache à elle). Déplacez-le donc 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 lorsque vous copiez l'APK, il doit avoir une icône de l'application. S'il a l'icône par défaut, c'est probablement que le téléchargement est corrompu pour d'autres raisons sans rapport, donc vous pouvez essayer de télécharger à nouveau.

  3. Maintenant, le cache est effacé et verrouillé et les dossiers d'applications sont déverrouillés. (vous pouvez vérifier que le dossier cache est vide pour être sûr à 100%, mais je doute que ce soit nécessaire). Vous pouvez maintenant installer l'APK que vous avez téléchargé.

Note1 : Si vous cliquez sur un nouveau téléchargement et qu'il est indiqué "en attente", fermez (de force) Google Play et redémarrez-le, le téléchargement devrait commencer automatiquement.

Note2 : J'ai testé ceci avec seulement Android : 6.0.1 / MIUI : 8.5.3.0 donc cette solution pourrait ne pas être universelle. Vérifiez si vous avez le dossier cache et si le téléchargement des services Google Play y est téléchargé (une fois le téléchargement terminé, il y reste pendant un moment).

AVERTISSEMENT : C'est bien de garder le dossier 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.

P.S. Je comprends que cette solution ne convient pas à tout le monde, mais si votre préoccupation première est la stabilité et le contrôle de l'utilisation des données, cela fonctionne... pour le moment. J'espère que quelqu'un trouvera une meilleure solution que celle-ci.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X