Listando los permisos de la aplicación de Android vía adb

Utilizando adb, ¿cómo puedo averiguar qué permisos necesita una aplicación de Android?

Debido a que quiero mostrar los permisos de varias aplicaciones en dispositivos diferentes, verlos en Google Play o Settings > Applications manager requiere demasiado trabajo manual.

Solo quería combinar las respuestas de Jason y Juuso juntas y notar que el primero lista los permisos que se concedieron , mientras que el último lista los permisos que se solicitaron (incluyendo los que se concedieron).

Para ver sólo los permisos que se concedieron (pero omitiendo los que fueron solicitados pero no concedidos) use

 adb shell dumpsys package packagename 

Y verifique la sección grantedPermissions en la parte inferior de la salida.

Para enumerar todos los permisos (solicitados pero no concedidos + solicitados y concedidos):

  1. Observe el APK de un paquete. Puede ejecutar el mismo comando

     adb shell dumpsys package packagename 

    Y obtener la ruta APK del elemento codePath de su salida.

  2. (Si no hay un aapt en su dispositivo / emulador) Tendrá que extraer el apk del dispositivo / emulador como Juuso Ohtonen ha señalado en su respuesta. Así que ejecuta algo como esto desde tu escritorio:

     adb pull /data/app/com.your.package.apk 
  3. Listar todos los permisos del paquete

    Si falta en el dispositivo / emulador, aapt se puede encontrar en build-tools/<version>/ en tu SDK de Android.

    Luego ejecutar

     aapt d permissions /path/to/com.your.package.apk 
  1. Enumere todas las aplicaciones junto con sus rutas de instalación (utilice el indicador -3 si sólo está interesado en aplicaciones de terceros). Por ejemplo, intentemos encontrar los permisos de las aplicaciones de YouTube.
    adb shell pm list packages -f

    Salida:


    Paquete: /data/app/com.google.android.youtube-1.apk=com.google.android.youtube

  2. Tire del apk seleccionado del dispositivo:
    adb pull /data/app/com.google.android.youtube-1.apk

  3. Enumere los permisos con
    aapt d permissions com.google.android.youtube-1.apk

Salida:

  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 ... 

La forma rápida: adb shell dumpsys package packageagename | Grep permiso

  • ¿Cómo implementar ContentProvider de sólo lectura?
  • Todavía el permiso denegado después de agregar "WRITE_EXTERNAL_STORAGE" en AndroidManifest.xml
  • Implementación de los permisos de Android 6.0 en unity3d
  • No se puede mover una aplicación a la tarjeta SD
  • Android M Permisos: onRequestPermissionsResult () no se llama
  • Bypass android usb host permiso diálogo de confirmación
  • Limpieza de los permisos de Android no utilizados
  • OnRequestPermissionsResult se llama infinitamente
  • ¿Cómo comprobar si se da el permiso "android.permission.PACKAGE_USAGE_STATS"?
  • ¿Por qué sendTextMessage requiere el permiso READ_PHONE_STATE?
  • Pantalla negra de la cámara Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.