Que fait l'autorisation Android «WRITE_GSERVICES»?

8

Il existe une autorisation Android mystérieuse et non documentée appelée: WRITE_GSERVICES . Comme d'habitude, la documentation de Google est encore plus mystérieuse que tout mauvais conte de fées, écrivant:

android.permission.WRITE_GSERVICES      Allows an application to modify the Google service map.

Cependant googler (!) Ne Google Service Mapdonne rien d'utile.

Que contrôle-t-elle et à quoi sert-elle?

not2qubit
la source
@Ryan: Si vous avez réellement pris la peine de regarder le lien que vous dites être dupliqué, vous verriez que ce n'est pas le cas. Et où voyez-vous que cela a à voir avec les données cartographiques? Les sources semblent raconter une autre histoire.
not2qubit
Eh bien, ce n'est tout simplement pas le cas et je ne vous vois même pas essayer de sauvegarder votre déclaration avec du code, des preuves ou des liens pertinents, pas les vôtres. Veuillez me montrer le code qui indique qu'il est même connecté à distance à Google Maps. Comme je l'ai dit, ma propre enquête montre autre chose.
not2qubit
1
Bien que cela (Et cela ) soit pour READ_GSERVICES, ce qui est logique, car les applications normales ne peuvent pas demander l'accès à WRITE_GSERVICES, le demandeur souligne que Google Maps nécessite l'autorisation READ_GSERVICES pour fonctionner correctement. - Je veux également ajouter que, sur les 17 modifications apportées au doublon que vous appelez «le mien», 14 ont été effectuées par d'autres utilisateurs que moi, contribuant à plus de 5000 caractères ajoutés.
Ryan Conrad
1
Voir: android.izzysoft.de/applists/perms#WRITE_GSERVICES :) "Permet à une application de modifier la carte des services Google." Donc @RyanConrad C'est la carte de service , pas "Google Maps Service". Ce que cela signifie exactement est une autre chose, car à ma connaissance, il n’existe pas de véritable documentation.
Izzy
2
Je vote pour rouvrir cette question. Pour le raisonnement, veuillez consulter (et participer à la discussion sur) Meta: Allons-nous vraiment fermer les questions sur les significations des autorisations en tant que doublons de la «liste générale»?
Izzy

Réponses:

8

Notez que cette autorisation est presque complètement non documentée, c'est pourquoi nous devons chercher notre véritable sens. Il ne s'agit donc en aucun cas d'une "réponse faisant autorité" - mais plus ou moins de quelque chose entre une "bonne supposition" et une "déduction d'autres indications".

La description officielle de cette autorisation (comme dit, il n'y a pas de documentation supplémentaire) est:

Permet à une application de modifier la carte des services Google.

Alors maintenant, nous pouvons deviner ce que cela est censé signifier. Faisons un peu de «rétro-ingénierie» pour que nous nous y sentions. Ryan a déjà donné quelques indications dans son commentaire, reliant à deux questions SO:

Lecture entre les lignes: chaque fois qu'une application souhaite utiliser (des parties de) le cadre de services Google , elle doit déclarer l' READ_GSERVICESautorisation requise - ce qui est assez similaire à l'exiger GET_ACCOUNTSsi vous le souhaitez USE_CREDENTIALS: l'application doit d'abord s'assurer que le service requis est disponible du tout, avant d'y accéder.

Cela nous donne une idée de ce que doit être Google Service Map : une sorte d'index pour les services Google disponibles (installés).

Maintenant que nous avons découvert cela, nous pouvons faire une bonne estimation de la WRITE_GSERVICESfinalité de l' autorisation - et pourquoi elle est protégée par le systemniveau de protection (c'est-à-dire qu'elle n'est accordée qu'aux "applications système"), c'est-à-dire celles intégrées dans la ROM, qui est en cours d'installation sur la /systempartition): si READ_GSERVICESest destiné à déterminer quels services Google sont disponibles, WRITE_GSERVICESdoit être son homologue pour mettre à jour cette carte de service. Par exemple, chaque fois qu'un nouveau service est installé (ou supprimé), pour mettre à jour "l'index des services Google disponibles sur l'appareil" - le "Google Service Map".

Une seule chose que je me demande dans ce contexte, c'est pourquoi cette permission appartient au ACCOUNTSgroupe


Voir également:

Izzy
la source
1
Un autre point pour lequel cette autorisation pourrait être dans le ACCOUNTSgroupe: de nombreux services Google nécessitent une connexion pour être utilisables, il peut donc y avoir des recoupements (par exemple, en transmettant le nom de votre compte pour vérifier si vous avez un "utilisateur actif" pour un compte donné). service, même sans vous connecter / transmettre un mot de passe / jeton AUTH).
Izzy