Lesen Sie die APK-Berechtigung per Shell-Befehl

16

Ich möchte die angeforderten Berechtigungen einer .apk-Datei auf dem Computer (Android SDK ist installiert) über die Befehlszeile lesen.

IE:

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

Ich weiß, dass dies möglich ist, ich kann einfach nicht den richtigen Befehl finden.

whlk
quelle

Antworten:

25

Wenn ich "auf dem Computer" richtig interpretiere, um "Ich möchte die Berechtigungen einer .apk-Datei über die Befehlszeile auf meinem Computer lesen" zu bedeuten, können Sie dies aaptfür eine lokale Datei wie folgt tun :

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

Wenn Sie meinen, dass sich die .apk-Datei auf dem Gerät befindet, ist mir keine Möglichkeit bekannt, dies zu tun, abgesehen davon, dass Sie sie ziehen und aaptwie oben ausgeführt werden. pmhat einen list permissionsBefehl, listet aber nur alle verfügbaren Berechtigungen auf dem Gerät auf und akzeptiert kein Paket als Parameter (soweit ich weiß).

eldarerathis
quelle
1

Auf dem Gerät wird es wahrscheinlich einfacher sein, den entsprechenden Abschnitt in zu suchen

/data/system/packages.xml

(das kann gelesen werden, auch wenn ihr Verzeichnis kann nicht durchsucht oder aufgeführt werden) , da dies eine Textdatei ist, während der AndroidManifest.xml in einem apk in einem komprimierten Format ist.

Es gibt Code im Internet, um die komprimierten Manifeste auf dem Gerät zu interpretieren, aber das ist etwas komplizierter.

Chris Stratton
quelle