Odczytaj uprawnienia APK poleceniem powłoki

16

Chcę odczytać wymagane uprawnienia pliku .apk na komputerze (zainstalowany jest system Android SDK) za pośrednictwem wiersza polecenia.

TO ZNACZY:

$ android read-permissions /path/to/someapp.apk

Wiem, że to możliwe, po prostu nie mogę znaleźć właściwego polecenia.

whlk
źródło

Odpowiedzi:

25

Jeśli poprawnie interpretuję „na komputerze”, co oznacza „chcę użyć wiersza polecenia na moim komputerze do odczytania uprawnień do pliku .apk”, możesz to zrobić z aaptplikiem lokalnym, takim jak:

C:\>aapt d permissions "MyApp.apk"
package: com.app.myapp
uses-permission: android.permission.ACCESS_NETWORK_STATE
uses-permission: android.permission.INTERNET

Jeśli masz na myśli, że plik .apk znajduje się na urządzeniu, to nie wiem, jak to zrobić, poza wyciągnięciem go i uruchomieniem aaptjak wyżej. pmma list permissionspolecenie, ale po prostu wyświetla wszystkie dostępne uprawnienia na urządzeniu i nie przyjmuje pakietu jako parametru (o ile wiem, w każdym razie).

eldarerathis
źródło
1

Na urządzeniu prawdopodobnie łatwiej będzie znaleźć odpowiednią sekcję w

/data/system/packages.xml

(który można odczytać, nawet jeśli jego katalogu nie można przeglądać ani wyświetlić na liście), ponieważ jest to plik tekstowy, podczas gdy plik AndroidManifest.xml w apk jest w formacie skompresowanym.

W sieci znajduje się kod do interpretacji skompresowanych manifestów na urządzeniu, ale jest to nieco bardziej skomplikowane.

Chris Stratton
źródło