BroadcastReceiver permiso para el shell de adb

Considere una herramienta sencilla utilizando un BroadcastReceiver para lograr un objetivo simple. Debido a que esto no debe ser utilizado por otras aplicaciones, define un permiso con un protectionLevel de signature o signatureOrSystem :

 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="any.test"> <permission android:name="any.test.PERMISSION" android:protectionLevel="signatureOrSystem" /> <application android:label="AnyTest"> <receiver android:name=".Receiver" android:exported="true" android:permission="any.test.PERMISSION" /> </application> </manifest> 

Ahora me gustaría probar esto enviando emisiones vía

 adb shell am broadcast -n any.test/.Receiver 

desde mi computadora. Si bien esto funciona perfectamente bien en un emulador, no funciona en absoluto en un dispositivo real cuando se establece este permiso. Si el permiso no está establecido, todo funciona según lo previsto.

Entonces, ¿cómo puedo definir o conceder el permiso para que pueda probar todo esto en un dispositivo real con ADB ?

Quiero hacer este receptor exportado un poco más seguro en el modo de depuración, así que si hay un permiso especial para el uso de ADB o una prueba en tiempo de ejecución para permitir sólo llamadas de ADB puedo implementar en Receiver.onReceive(Context, Intent) ayudaría también. El receptor no tiene que trabajar para ADB y otras aplicaciones al mismo tiempo.

One Solution collect form web for “BroadcastReceiver permiso para el shell de adb”

Un shell raíz puede enviar cualquier transmisión protegida por cualquier permiso.
Un shell normal también se ha concedido un montón de permisos, compruebe este archivo en el código AOSP souce: frameworks \ base \ packages \ Shell \ AndroidManifest.xml .

Reemplace su any.test.PERMISSION con un permiso en este archivo que protectionLevel sea signatureOrSystem , como android.permission.REAL_GET_TASKS . Después de eso, puede enviar emisión a este receptor en shell, pero la tercera aplicación no puede.

  • Permisos del administrador de ubicaciones de Android que se utilizarán
  • Uso de permisos que android 2.1 no sabe (en android 2.1)
  • Android OS 2.2 Permisos: No tengo ni idea de por qué este simple código no funciona. ¿Qué estoy haciendo mal?
  • ¿Por qué sendTextMessage requiere el permiso READ_PHONE_STATE?
  • Funciones de Android y permisos de archivo
  • Permiso ATTR {idVendor} para dispositivos USB en linux menta para utilizar tabla mobii protab2 XXL
  • Pantalla negra de la cámara Android
  • Permisos de aplicaciones en Android Marshmallow en PhoneGap
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.