Che cosa sta facendo l'autorizzazione Android "WRITE_GSERVICES"?


8

Esiste un'autorizzazione Android misteriosa e non documentata chiamata: WRITE_GSERVICES . Come al solito la documentazione di Google è ancora più misteriosa di qualsiasi brutta favola, scrivendo:

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

Tuttavia, Google (!) Per Google Service Mapnon dà nulla di utile.

Cosa controlla e a cosa serve?


@Ryan: Se ti sei davvero preso la briga di guardare il link che dici sia duplicato, vedresti che non è così. E dove vedi che ha a che fare con i dati della mappa? Le fonti sembrano raccontare un'altra storia.
not2qubit

Beh, semplicemente non lo è e non ti vedo nemmeno tentare di eseguire il backup della tua dichiarazione con alcun codice, prova o link pertinenti, non tuoi. Per favore, mostrami il codice che mostra che è anche collegato in remoto a Google Maps. Come ho detto, la mia indagine mostra qualcos'altro.
not2qubit

1
Sebbene questo (e questo ) sia utile READ_GSERVICES, il che ha senso, dal momento che le normali applicazioni non possono richiedere l'accesso WRITE_GSERVICES, il richiedente sottolinea che Google Maps richiede l'autorizzazione READ_GSERVICES per funzionare correttamente. - Vorrei anche aggiungere, delle 17 modifiche al duplicato che chiami "mio", 14 di loro erano di altri utenti oltre a me stesso, contribuendo a oltre 5000 caratteri aggiunti.
Ryan Conrad,

1
Vedi: android.izzysoft.de/applists/perms#WRITE_GSERVICES :) "Permette ad un'applicazione di modificare la mappa dei servizi di Google." Quindi @RyanConrad È la mappa dei servizi , non "Google Maps Service". Ciò che si intende esattamente con questo è un'altra cosa, per quanto ne so non esiste una vera documentazione.
Izzy

2
Voto per riaprire questa domanda. Per il ragionamento, consultare (e partecipare alla discussione su) Meta: dobbiamo davvero chiudere le domande sui significati delle autorizzazioni come duplicati dell '"elenco generale"?
Izzy

Risposte:


8

Nota che questa autorizzazione è quasi completamente priva di documenti, quindi dobbiamo sentire la nostra strada verso il suo vero significato. Quindi questa non è in alcun modo una "risposta autorevole" - ma più o meno qualcosa tra una "buona ipotesi" e una "deduzione da altri indicatori".

La descrizione ufficiale di questa autorizzazione (come detto, non c'è ulteriore documentazione) è:

Consente a un'applicazione di modificare la mappa dei servizi di Google.

Quindi ora possiamo indovinare cosa dovrebbe significare. Facciamo un po 'di "reverse engineering" per far sì che ci sentiamo dentro. Ryan ha già fornito alcuni suggerimenti nel suo commento, collegando a due domande SO:

Lettura tra le righe: ogni volta che un'app desidera utilizzare (parti di) il Google Services Framework , deve dichiarare l' READ_GSERVICESautorizzazione richiesta - che è praticamente simile alla richiesta GET_ACCOUNTSse si desidera USE_CREDENTIALS: l'app deve prima assicurarsi che il servizio richiesto sia disponibile affatto, prima di accedervi.

Questo ci dà un'idea di ciò che deve essere la mappa dei servizi di Google : una sorta di indice per i servizi Google disponibili (installati).

Ora che l'abbiamo scoperto, possiamo fare una buona ipotesi a cosa WRITE_GSERVICESpotrebbe essere destinata l' autorizzazione - e perché è protetta dal systemlivello di protezione (il che significa che è concessa solo alle "app di sistema" - cioè quelle integrate nella ROM, che è installato sulla /systempartizione): se READ_GSERVICESsi intende capire quali servizi Google sono disponibili, WRITE_GSERVICESdeve essere la sua controparte per aggiornare quella mappa di servizi. Ad esempio, ogni volta che viene installato (o rimosso) un nuovo servizio, per aggiornare l '"indice dei servizi Google disponibili sul dispositivo" - la "Mappa dei servizi di Google".

Solo una cosa che mi chiedo in questo contesto è, perché questa autorizzazione appartiene al ACCOUNTSgruppo ...


Guarda anche:


1
Un altro punto per cui questa autorizzazione potrebbe essere nel ACCOUNTSgruppo: molti servizi Google richiedono che un accesso sia utilizzabile, quindi potrebbe esserci un controllo incrociato (ad esempio, la trasmissione del nome del tuo account per verificare se hai un "utente attivo" per un determinato servizio, anche senza accedere / trasmettere una password / token AUTH).
Izzy
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.