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

 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)

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 
  • Android JobScheduler - no puede crear un trabajo persistente
  • Cómo eliminar el archivo de almacenamiento externo en android 5
  • Android - ¿Cómo conozco todos los métodos que requieren un cierto permiso?
  • Marshmallow FINE y COARSE permiso de ubicación
  • Android Marshmallow, nivel de protección "peligroso" y componentes / aplicaciones del sistema
  • Restricción de Android Broadcast Receiver de una aplicación específica
  • ¿Debo declarar el permiso "com.android.alarm.permission.SET_ALARM" cuando se utiliza el Administrador de alarmas en Android?
  • Causado por: java.lang.SecurityException: el proveedor de ubicación "gps" requiere el permiso ACCESS_FINE_LOCATION
  • Permisos de Android GET_ACCOUNTS y ​​USE_CREDENTIALS se muestran automáticamente
  • ¿Cómo comprobar si el permiso de Android se está utilizando realmente?
  • ¿Dónde están almacenados los permisos en Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.