Es gibt eine mysteriöse und undokumentierte Android-Berechtigung namens: WRITE_GSERVICES . Wie üblich ist Googles eigene Dokumentation noch mysteriöser als jedes schlechte Märchen.
android.permission.WRITE_GSERVICES Allows an application to modify the Google service map.
Googeln (!) Für Google Service Map
ergibt jedoch nichts Nützliches.
Was steuert es und wofür wird es verwendet?
stock-android
permissions
not2qubit
quelle
quelle
READ_GSERVICES
, was sinnvoll ist, da normale Anwendungen keinen Zugriff anfordern können,WRITE_GSERVICES
weist der Fragesteller darauf hin, dass Google Maps die Berechtigung READ_GSERVICES benötigt, um korrekt zu funktionieren. - Außerdem möchten wir hinzufügen, dass von den 17 Änderungen an dem Duplikat, das Sie "meine" nennen, 14 von anderen Benutzern als mir stammen und zu über 5000 hinzugefügten Zeichen beitragen.Antworten:
Beachten Sie, dass diese Erlaubnis fast vollständig ohne Papiere ist, daher müssen wir uns auf den Weg zu ihrer wahren Bedeutung machen. Dies ist also keineswegs eine "maßgebliche Antwort" - sondern mehr oder weniger etwas zwischen einer "guten Vermutung" und einem "Abzug von anderen Hinweisen".
Die offizielle Beschreibung für diese Erlaubnis (wie gesagt, es gibt keine weiteren Unterlagen) lautet:
Jetzt können wir also erraten, was das bedeuten soll. Lassen Sie uns ein "Reverse Engineering" durchführen, damit wir uns darin zurechtfinden. Ryan gab bereits einige Hinweise in seinem Kommentar, die auf zwei SO-Fragen verweisen:
READ_GSERVICES
)Lesen zwischen den Zeilen: Wenn eine App (Teile) des Google Services Framework verwenden möchte , muss sie die
READ_GSERVICES
erforderliche Berechtigung deklarieren. Dies ähnelt weitgehend der Anforderung,GET_ACCOUNTS
wenn Sie möchtenUSE_CREDENTIALS
: Die App muss zuerst sicherstellen, dass der erforderliche Dienst verfügbar ist überhaupt, bevor Sie darauf zugreifen.Dies gibt uns eine Vorstellung davon, wie die Google Service Map aussehen muss: eine Art Index für verfügbare (installierte) Google Services.
Nachdem wir dies entdeckt haben, können wir gut erraten, wofür die
WRITE_GSERVICES
Berechtigung bestimmt sein könnte - und warum sie durch diesystem
Schutzstufe geschützt ist (dh sie wird nur "System-Apps" gewährt -, dh solchen, die in das ROM integriert sind wird auf der/system
Partition installiert ): Wenn herausgefundenREAD_GSERVICES
werden soll, welche Google-Dienste verfügbar sind,WRITE_GSERVICES
muss dies das Gegenstück sein, um diese Dienstzuordnung zu aktualisieren . Dies ist beispielsweise der Fall, wenn ein neuer Dienst installiert (oder entfernt) wurde, um den "Index der auf dem Gerät verfügbaren Google-Dienste" zu aktualisieren - die "Google-Dienstkarte".Ich frage mich in diesem Zusammenhang nur, warum diese Erlaubnis zur
ACCOUNTS
Gruppe gehört …Siehe auch:
READ_GSERVICES
Berechtigung " Maps API v2" und "WRITE_EXTERNAL_STORAGE" beschreibt die Berechtigung als "Ermöglicht der API den Zugriff auf webbasierte Google-Dienste " (unter Angabe einer Nachricht aus der[email protected]
Mailingliste).ACCOUNTS
Gruppe gehört, da sie beispielsweise die Google-Kontoauthentifizierung umfasst ;)quelle
ACCOUNTS
Gruppe: viele Google - Dienste erfordern eine Anmeldung verwendbar sein, so könnte es einige Gegenprüfung (zB Senden Ihr Konto Namen zu überprüfen , ob Sie einen „aktiven Benutzer“ für einen bestimmtes haben Service, auch ohne Sie anzumelden / ein Passwort zu senden / AUTH-Token).