¿Cómo uso la concesión de adb o la revocación de adb?
La documentación de Android contiene la siguiente descripción de los comandos grant y adb revoke de adb.
grant <PACKAGE_PERMISSION>
Concede permisos a las aplicaciones. Sólo se pueden conceder permisos opcionales que la aplicación ha declarado.
- Respondida Incoming Call in Android 6.0
- ¿Cuándo debo usar el permiso ACCESS_COARSE_LOCATION?
- Perder el permiso de Notificación de acceso después de reiniciar
- Esperar permiso del usuario
- ¿Cuándo necesito android.hardware.location.gps y android.hardware.location.network?
revoke <PACKAGE_PERMISSION>
Revoca los permisos de las aplicaciones. Sólo los permisos opcionales que la aplicación ha declarado pueden ser revocados.
¿Puede alguien dar un ejemplo de la sintaxis correcta para usarlos?
Supongo que sería un permiso como android.permission.WRITE_EXTERNAL_STORAGE
, o tal vez simplemente WRITE_EXTERNAL_STORAGE
. Bueno, he intentado los, y varios otros y no puedo conseguir que funcione.
También he intentado (sin éxito) varias combinaciones de paquete y permiso, lo que tiene más sentido para mí (esto suena como un comando que podría modificar un permiso en un paquete, no todos)
- El permiso personalizado de Android falla según el pedido de instalación de la aplicación
- Android Marshmallow, nivel de protección "peligroso" y componentes / aplicaciones del sistema
- ¿Qué permisos se pueden conceder a los dispositivos enraizados?
- ¿Permiso de notificaciones push (GCM) en tiempo de ejecución?
- Negación de permisos de Android en Widget RemoteViewsFactory para contenido
- ¿Permisos opcionales para que una aplicación pueda mostrarse en todos los dispositivos y activar funciones opcionales en algunos?
- ¿Es necesaria la solicitud de acceso a Internet en tiempo de ejecución (Android)?
- ¿Debo declarar el permiso "com.android.alarm.permission.SET_ALARM" cuando se utiliza el Administrador de alarmas en Android?
Así que en Lollipop creo que necesitas hacer "adb shell" primero, entonces lo que intentaste debería funcionar:
adb shell pm grant com.name.app android.permission.READ_PROFILE
Se supone que esto cambia en Android M y debería ser capaz de usar:
adb shell pm revoke com.name.app android.permission.READ_PROFILE
Puede encontrar una lista completa de permisos aquí . Si tiene herramientas de creación de Android configuradas, puede ver qué permisos utiliza la aplicación. Primer uso
adb shell pm list packages -f
A continuación, copie el paquete a su computadora:
adb pull /path/to/package/from/previous/step.apk
A continuación, obtener permisos:
aapt d permissions path/to/app/on/computer.apk
Si no sabe el nombre del permiso o desea borrar todos los permisos que puede usar
adb shell pm reset-permissions your.package.name
Así que aquí está una pequeña línea de comandos (mac / linux) para conceder a su aplicación todos los permisos que requiere de la línea de comandos.
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
- Cómo crear una barra de herramientas de la tarjeta usando appcompat v7
- Carga de Clase Personalizada en Dalvik con Gradle (Android New Build System)