2014-01-13 2 views
28

adb를 사용하면 Android 애플리케이션에 필요한 사용 권한을 어떻게 알 수 있습니까?adb를 통해 Android 애플리케이션 사용 권한 나열

다른 장치에 여러 응용 프로그램의 사용 권한을 표시하려면 Google Play 또는 Settings>Applications manager으로 보는 것이 너무 많은 수동 작업이 필요합니다.

답변

45

난 그냥 함께 제이슨과 Juuso의 답변을 결합하여 통지 싶었 했다 후자의 목록 권한이 (부여 된 것을 포함) 요청하면서 를 부여했다 이전 목록 권한.

는 (요청하지만 허용되지 않은 있지만 생략하는 것)을 부여했다 전용 권한을 참조

adb shell dumpsys package packagename 

를 사용하고 출력의 맨 아래에 grantedPermissions 섹션을 확인합니다.

를 나열하려면 모든 권한 (요청하지만 + 승인 요청 및 승인) :

  1. 공지 사항 패키지의 APK. 동일한 명령

    adb shell dumpsys package packagename 
    

    을 실행하고 그 출력의 codePath 요소에서 APK 경로를 얻을 수 있습니다.

  2. (기기/에뮬레이터에 aapt이없는 경우) Juuso Ohtonen이 답변에서 지적한대로 기기/에뮬레이터에서 apk를 가져와야합니다. 그래서 바탕 화면에서 이런 일을 실행 패키지의

    adb pull /data/app/com.your.package.apk 
    
  3. 목록 모든 권한

    를 장치에서 누락/에뮬레이터 aapt는 안드로이드 SDK에 build-tools/<version>/에서 찾을 수 할 수 있습니다.

    그런

    aapt d permissions /path/to/com.your.package.apk 
    
+0

말하자면, "adb shell dumpsys 패키지"명령이 앱에 관한 많은 종류의 정보를 보여주고 있다는 것을 알았습니다. 또한 외부 저장 장치 (내 기기의 '/ storage/emulated/0/Android/data/PACKAGE_NAME')와 같이 앱에서 공식적으로 사용하는 모든 폴더를 표시 할 수 있나요? –

13
  1. 목록 자신의 설치 경로 (당신이 제 3 자 애플리케이션에만 관심이 있다면 -3 플래그를 사용)과 함께 모든 응용 프로그램. 예를 들어 YouTube 앱 권한을 찾으려고합니다.
    adb shell pm list packages -f

    출력 :

    ...
    패키지 :
    /data/app/com.google.android.youtube-1.apk=com.google.android.youtube ...


  2. 장치로부터 선택된 APK 당겨 :
    adb pull /data/app/com.google.android.youtube-1.apk

  3. 목록은과 권한
    aapt d permissions com.google.android.youtube-1.apk

출력 :

uses-permission: android.permission.BROADCAST_STICKY 
    uses-permission: android.permission.CALL_PHONE 
    uses-permission: android.permission.CALL_PRIVILEGED 
    uses-permission: android.permission.WRITE_SETTINGS 
    uses-permission: android.permission.WRITE_SECURE_SETTINGS 
    uses-permission: android.permission.READ_CONTACTS 
    uses-permission: android.permission.READ_CALL_LOG 
    uses-permission: android.permission.WRITE_CONTACTS 
    uses-permission: android.permission.WRITE_CALL_LOG 
    uses-permission: android.permission.SYSTEM_ALERT_WINDOW 
    uses-permission: android.permission.INTERNAL_SYSTEM_WINDOW 
    uses-permission: android.permission.ADD_SYSTEM_SERVICE 
    uses-permission: android.permission.VIBRATE 
    uses-permission: android.permission.BLUETOOTH 
    uses-permission: android.permission.BLUETOOTH_ADMIN 
    uses-permission: android.permission.REORDER_TASKS 
    uses-permission: android.permission.CHANGE_CONFIGURATION 
    ... 

...

+0

멋진 대답을 실행하지만 왜 2 단계를 필요합니까? 그것은 그것없이 잘 동작합니다. –

+0

@DenisKniazhev'aapt' 도구는 adb 쉘 –

+0

에서 제공되지 않습니다. @coco_ 맞습니다.'aapt'가 미리 설치된 에뮬레이터를 사용해야합니다. –

9

빠른 방법 : ADB 쉘 dumpsys 패키지 패키지 이름 | 그렙 권한

+0

이것은 부여 된 사용 권한 만 나열합니다. 아래 답변을 참조하십시오. –

+0

"pemission"이라는 단어가있는 사용 권한 만 포함합니까? –

관련 문제