2011-11-24 11 views
5

Ho un'app per Android, voglio controllare che tutte le autorizzazioni menzionate in Manifest siano obbligatorie o no?Rimuovere permessi extra indesiderati da Android manifest

Fondamentalmente voglio rimuovere le autorizzazioni indesiderate.

Cosa devo fare?

Grazie in anticipo

+1

correlati/vittima: [Ripulire le autorizzazioni di Android non utilizzati] (http://stackoverflow.com/questions/18362305/clean-up-unused-android -permissions) – blahdiblah

risposta

4

La risposta fornita dall'utente370305 è generalmente quella corretta. Il codice di terze parti deve documentare in modo adeguato le autorizzazioni necessarie: combinarlo con le autorizzazioni richieste dal proprio codice e è necessario impostarlo.

Se ritieni che questo non è sufficiente, allora:

Passo # 1: Scrivere una suite di test di unità.

Passaggio 2: aggiungere test alla suite fino a quando non si ottiene una copertura completa delle istruzioni.

Passaggio n. 3: passaggio di tutti i test nella suite di test dell'unità.

Passaggio 4: rimuovere un'autorizzazione e vedere se i test falliscono. Ripristinare le autorizzazioni che causano il fallimento della suite di test. Ripeti per tutte le autorizzazioni di cui non sei sicuro.

1

si dovrebbe avere per sapere quali funzioni e componenti sono l'uso nella vostra applicazione. Sulla base del bisogno di quel componente devi aggiungere solo quella autorizzazione. Non tutti. Jusi controlla e rimuove altre autorizzazioni manualmente da manifest.

+0

alcune volte adottiamo l'open source, per completare il nostro compito, e c'è la possibilità che non siamo conosciuti. e rimuovere i permessi manualmente, potrebbe succedere che per errore togliessi uno necessario e generasse un'eccezione. –

5

Per Android Studio:

1) Trovare le autorizzazioni vengono aggiunti (app \ accumulo \ intermedi \ manifesta)

2) Aggiungere queste autorizzazioni con gli strumenti: il nodo = "remove"

esempio:

ho scoperto che ho il permesso indesiderati:

usa-autorizzazione android: name = "android.permission.WRITE_EXTERNAL_STORAGE"

E ho rimosso con l'aggiunta di questo al mio file manifest:

usa-autorizzazione android: name = "android.permission.WRITE_EXTERNAL_STORAGE "tools: node =" remove "

1

È possibile rimuovere l'autorizzazione e verificare i risultati dei filati. Se i risultati sono puliti, l'autorizzazione non viene utilizzata.

Analyse -> Run Inspection by Name -> Type "Missing Permissions" -> Run

Android Studio Versione: 3.0.1

Problemi correlati