Solución:
Para agregar:
adb shell pm grant com.name.app android.permission.READ_PROFILE
Para eliminar:
adb shell pm revoke com.name.app android.permission.READ_PROFILE
Esto cambió en el lanzamiento de Android M, por lo que en Lollipop (en el momento original de escribir la respuesta) tenías que hacer adb shell
primero.
adb shell
pm grant com.name.app android.permission.READ_PROFILE
Puede encontrar una lista completa de permisos aquí. Si tiene configuradas las herramientas de compilación de Android, puede ver qué permisos está usando la aplicación. Primer uso
adb shell pm list packages -f
Luego copie el paquete en su computadora:
adb pull /path/to/package/from/previous/step.apk
Entonces obtén los permisos:
aapt d permissions path/to/app/on/computer.apk
Si no sabe el nombre del permiso o desea borrar todos los permisos, puede usar
adb shell pm reset-permissions
ADVERTENCIA: Esto restablecerá los permisos de tiempo de ejecución para todas las aplicaciones en su teléfono. No se puede restablecer para un paquete específico.
Así que aquí hay una pequeña línea de comando (mac / linux) para otorgarle a su aplicación todos los permisos que requiere desde la línea de comando.
aapt d permissions ./path/to/your.apk
| sed -n
-e "s/'//g"
-e "/^uses-permission: name=android.permission./s/^[^=]*=//p"
| xargs -n 1 adb shell pm grant com.your.package