Я хочу прочитать запрошенные разрешения файла .apk на компьютере (установлен Android SDK) через командную строку.
IE:
$ android read-permissions /path/to/someapp.apk
Я знаю, что это возможно, я просто не могу найти правильную команду.
Я хочу прочитать запрошенные разрешения файла .apk на компьютере (установлен Android SDK) через командную строку.
IE:
$ android read-permissions /path/to/someapp.apk
Я знаю, что это возможно, я просто не могу найти правильную команду.
Если я правильно интерпретирую «на компьютере» как «я хочу использовать командную строку на моем компьютере для чтения разрешений файла .apk», то вы можете сделать это с aapt
помощью локального файла следующим образом:
C:\>aapt d permissions "MyApp.apk"
package: com.app.myapp
uses-permission: android.permission.ACCESS_NETWORK_STATE
uses-permission: android.permission.INTERNET
Если вы имеете в виду, что .apk находится на устройстве, то я не знаю, как это сделать, кроме как потянуть его и запустить, aapt
как описано выше. pm
имеет list permissions
команду, но она просто перечисляет все доступные разрешения на устройстве и не принимает пакет в качестве параметра (насколько я знаю, во всяком случае).
На устройстве, вероятно, будет легче найти соответствующий раздел в
/data/system/packages.xml
(который может быть прочитан, даже если его каталог не может быть просмотрен или указан в списке), так как это текстовый файл, в то время как AndroidManifest.xml в apk находится в сжатом формате.
В сети есть код для интерпретации сжатых манифестов на устройстве, но это немного сложнее.