Gibt es eine Möglichkeit, alle auf Ihrem Telefon installierten Anwendungen und die erforderlichen Berechtigungen auf einer Seite aufzulisten oder die Liste zu exportieren, damit sie leicht geprüft werden kann?
Verwenden Sie Marktanwendungen wie Permission Watchdog oder Permissions . Außerdem gibt es mehrere andere.
Eine andere App, die ich anstelle von Permissions verwendet habe, ist RL Permissions . Ich bevorzuge die Schnittstelle. Inwiefern das besser funktioniert, weiß ich nicht.
aSpotCat ist auch eine nette App für die Berechtigungsprüfung.
Permission Friendly Apps listet installierte Apps in der Reihenfolge der anspruchsvollsten bis zu den am wenigsten anspruchsvollen Berechtigungsanforderungen auf. (Es verfolgt oder überwacht oder passt ihr Verhalten jedoch nicht wirklich an.)
Da in der Frage keine Android-Version erwähnt wird, schlage ich eine befehlszeilenbasierte Antwort vor, die für Android-Version 4.2.1 und höher relevant ist. Idealerweise ist dies eine OS-unabhängige Lösung, also OS on PC.
Benötigt Busybox- Binärdatei. Wenn das Gerät gerootet ist, installieren Sie die Busybox - App. Andernfalls laden Sie die busybox-Binärdatei von der offiziellen Quelle herunter , benennen Sie die Binärdatei in busybox um, legen Sie für alle die Linux-kompatible Ausführungsberechtigung für diese Binärdatei fest und verschieben Sie sie mit auf das Gerät
adb push LOCAL_FILE /data/local/tmp/ # LOCAL_FILE is the file path where busybox binary is located in PC
Erfordert eine aapt- Binärdatei. Wenn Sie ein CM oder ein davon abgeleitetes ROM ausführen, ignorieren Sie diese Anforderung. Andernfalls können Sie für Android 4.x in Betracht ziehen, die Binärdatei von hier herunterzuladen, die Binärdatei in aapt umzubenennen , die Linux-kompatible Ausführungsberechtigung für diese Binärdatei für alle festzulegen und sie mit auf das Gerät zu verschieben
adb push LOCAL_FILE /data/local/tmp/ # LOCAL_FILE is the file path where busybox binary is located in PC .
Bitten Sie für Benutzer von Android 5.x Google um Unterstützung.
Hier ist mein kleines Skript, das die Magie macht:
#!/system/bin/sh # Überprüfen Sie, ob die Busybox-Binärdatei unter /data/local/tmp/ oder /system/xbin existiert. Setzen Sie den Pfad der erkannten Binärdatei in die Variable busybox oder beenden Sie, wenn die Datei nicht existiert oder die Ausführungsberechtigung nicht gesetzt ist [[ -x /data/local/tmp/busybox ]] && busybox=/data/local/tmp/busybox || { [[ -x /system/xbin/busybox ]] && busybox=/system/xbin/busybox || { printf "Busybox-Binärdatei nicht gefunden oder Ausführungsberechtigung nicht gesetzt. Beenden\n" && exit; }; } # Überprüfen Sie, ob die aapt-Binärdatei unter /data/local/tmp oder /system/bin oder /system/xbin existiert. Setzen Sie den Pfad der erkannten Binärdatei in die Variable aapt oder beenden Sie, wenn die Datei nicht existiert oder die Ausführungsberechtigung nicht gesetzt ist [[ -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-Binärdatei nicht gefunden oder Ausführungsberechtigung nicht gesetzt. Beenden\n" && exit; }; }; } # Paketnamen aller installierten Apps auflisten und in der Datei packages.txt unter /sdcard speichern pm-Listenpakete | $busybox sed 's/^Paket://g' | $busybox sort -o /sdcard/packages.txt # Holen Sie sich für jeden Paketnamen in der gerade gespeicherten Ausgabe das Label der App mit $path und $label, drucken Sie eine Zeile und listen Sie dann schließlich die Berechtigungen auf, die der App gewährt wurden während Lesezeile; tun path=$(pm path $line | $busybox sed 's/^package://g'); label=$($aapt d badging $path | $busybox grep 'application: label=' | $busybox cut -d "'" -f2); $busybox printf "Berechtigungen für die App $label mit dem Paketnamen $line\n"; dumpsys-Paket $line | $busybox sed -e '1,/grantedPermissions:/d' -e '/^\s*$/,$d' | $busybox sortieren; $busybox printf "\n"; fertig < /sdcard/packages.txt
Demo-Ausgabe:
Berechtigungen für die App DisableService mit dem Paketnamen cn.wq.disableservice android.permission.READ_EXTERNAL_STORAGE android.permission.WRITE_EXTERNAL_STORAGE Berechtigungen für die App Indecent Xposure mit dem Paketnamen co.vanir.indecentxposure android.permission.RECEIVE_BOOT_COMPLETED Berechtigungen für App-Tags mit dem Paketnamen com.android.apps.tag android.permission.CALL_PHONE android.permission.NFC android.permission.READ_CONTACTS android.permission.WAKE_LOCK android.permission.WRITE_SECURE_SETTINGS ... ... Berechtigungen für den App-Designanbieter mit dem Paketnamen 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
Speichern Sie das Skript auf dem PC in einer Datei mit dem Namen perm_script.sh
und verschieben Sie es mit in /sdcard
adb push LOCAL_FILE /sdcard/ # LOCAL_FILE is the path where you saved that file into PC
Führen Sie diese Datei aus
adb shell sh /sdcard/perm_script.sh > OUTPUT_FILE # OUTPUT_FILE is the path where you want to save the final output
Je mehr Apps im System installiert sind, desto länger dauert es, bis der Befehl vollständig ausgeführt wird. Bei meinem Gerät dauerte es etwa drei Minuten.
Denis Nikolaenko
bbaja42
BlackShift
Denis Nikolaenko
BlackShift