Risposte:
Utilizzare applicazioni di mercato come watchdog delle autorizzazioni o autorizzazioni . Inoltre, ce ne sono molti altri.
Un'altra app che ho finito con l'utilizzo invece di Autorizzazioni è Autorizzazioni RL . Preferisco l'interfaccia. Per quanto riguarda quale funziona meglio, non lo so.
Le app compatibili con le autorizzazioni elencheranno le app installate in base all'ordine dei requisiti di autorizzazione più esigenti a quelli meno esigenti. (Tuttavia, in realtà non tiene traccia, verifica o modifica del loro comportamento.)
Poiché nessuna domanda per Android è menzionata nella domanda, sto proponendo una risposta basata sulla riga di comando relativa alla versione 4.2.1 e successive di Android. Questa è idealmente una soluzione indipendente dal sistema operativo, OS su PC, cioè.
Richiede binario busybox . Se il dispositivo è rootato, installa l' app Busybox . Altrimenti, scarica il file binario busybox da una fonte ufficiale , rinomina il file binario in busybox , imposta l' autorizzazione eseguibile compatibile Linux su quel binario per tutti e spostalo nel dispositivo usando
adb push LOCAL_FILE /data/local/tmp/ # LOCAL_FILE is the file path where busybox binary is located in PC
Richiede un binario aapt . Se stai eseguendo un CM o la sua ROM derivata, ignora questo requisito. Altrimenti, per Android 4.x, puoi considerare di scaricare il binario da qui , rinominare il binario in aapt , impostare l' autorizzazione eseguibile compatibile Linux su quel binario per tutti e spostarlo nel dispositivo usando
adb push LOCAL_FILE /data/local/tmp/ # LOCAL_FILE is the file path where busybox binary is located in PC .
Per gli utenti di Android 5.x, chiedi assistenza a Google.
Ecco la mia piccola sceneggiatura che fa la magia:
#! / System / bin / sh # Controlla se il binario busybox esiste in / data / local / tmp / o / system / xbin. Impostare il percorso del file binario rilevato nella variabile busybox o uscire se il file non esiste o l'autorizzazione eseguibile non è impostata [[-x / data / local / tmp / busybox]] && busybox = / data / local / tmp / busybox || {[[-x / system / xbin / busybox]] && busybox = / system / xbin / busybox || {printf "binario busybox non trovato o autorizzazione eseguibile non impostata. Exit \ n" && exit; }; } # Controlla se il file binario di aapt esiste in / data / local / tmp o / system / bin o / system / xbin. Impostare il percorso del binario rilevato nella variabile aapt o exit se il file non esiste o l'autorizzazione eseguibile non è impostata [[-x / data / local / tmp / aapt]] && aapt = / data / local / tmp / aapt || {[[-x / system / bin / aapt]] && aapt = / system / bin / aapt || {[[-x / system / xbin / aapt]] && aapt = / system / xbin / aapt || {printf "aapt binary non trovato o autorizzazione eseguibile non impostata. Exit \ n" && exit; }; }; } # Elenca il nome del pacchetto di tutte le app installate e salvale nel file pacchetti.txt in / sdcard Elenco pacchetti pm | Pacchetto $ busybox sed 's / ^: // g' | $ busybox sort -o /sdcard/packages.txt # Per ogni nome di pacchetto nell'output che abbiamo appena salvato, ottieni l'etichetta dell'app usando $ percorso e $ etichetta, stampa una riga e infine elenca le autorizzazioni concesse all'app mentre leggi la riga; fare percorso = $ (pm percorso $ linea | $ busybox sed 's / ^ pacchetto: // g'); label = $ ($ aapt d badging $ path | $ busybox grep 'application: label =' | $ busybox cut -d "'" -f2); $ busybox printf "Autorizzazioni per l'app $ label con nome pacchetto $ line \ n"; pacchetto dumpsys $ line | $ busybox sed -e '1, / concessionePermissioni: / d' -e '/ ^ \ s * $ /, $ d' | $ busybox sort; $ busybox printf "\ n"; done </sdcard/packages.txt
Uscita demo:
Autorizzazioni per l'app DisableService con nome pacchetto cn.wq.disableservice android.permission.READ_EXTERNAL_STORAGE android.permission.WRITE_EXTERNAL_STORAGE Autorizzazioni per l'app Indecent Xposure con nome pacchetto co.vanir.indecentxposure android.permission.RECEIVE_BOOT_COMPLETED Autorizzazioni per tag app con nome pacchetto com.android.apps.tag android.permission.CALL_PHONE android.permission.NFC android.permission.READ_CONTACTS android.permission.WAKE_LOCK android.permission.WRITE_SECURE_SETTINGS ... ... Autorizzazioni per il provider di temi per app con nome pacchetto org.cyanogenmod.themes.provider android.permission.ACCESS_NOTIFICATIONS android.permission.ACCESS_THEME_MANAGER android.permission.INTERNET android.permission.READ_THEMES android.permission.WRITE_SECURE_SETTINGS android.permission.WRITE_SETTINGS android.permission.WRITE_THEMES
Salvare lo script nel PC in un file denominato perm_script.sh
e spostarlo in / sdcard utilizzando
adb push LOCAL_FILE /sdcard/ # LOCAL_FILE is the path where you saved that file into PC
Esegui quel file
adb shell sh /sdcard/perm_script.sh > OUTPUT_FILE # OUTPUT_FILE is the path where you want to save the final output
Maggiore è l'app installata nel sistema, maggiore sarà il tempo necessario al completamento dell'esecuzione del comando. Nel mio dispositivo, ci sono voluti circa tre minuti.