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.
- Permiso: INJECT_EVENTS para Instrumenation a otras aplicaciones
- Permisos múltiples de Android 6.0
- Permiso para escribir en la tarjeta SD android
- Lista de permisos de Android permisos normales y permisos peligrosos en API 23?
- Android - ¿Cómo conozco todos los métodos que requieren un cierto permiso?
- AndroidManifest.xml implícita vs permisos explícitos (usos-característica vs usos-permisos)
- Phonegap permisos de Android, config.xml y complementos
- Permiso del receptor de facturación en la aplicación
- Enumeración usb Android
- Captura de imagen sin permiso con Android 6.0
- Cómo verificar correctamente el permiso de Android dinámicamente
- Funciones de Android y permisos de archivo
- Bloqueo de superposición de pantalla Permisos de Android
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):
-
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. -
(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
-
Listar todos los permisos del paquete
Si falta en el dispositivo / emulador,
aapt
se puede encontrar enbuild-tools/<version>/
en tu SDK de Android.Luego ejecutar
aapt d permissions /path/to/com.your.package.apk
-
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
… -
Tire del apk seleccionado del dispositivo:
adb pull /data/app/com.google.android.youtube-1.apk
-
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
- La interfaz de JavaScript no funciona con Android 4.2
- ¿Cómo puedo colocar un ProgressBar a la derecha de la barra de herramientas?