Permiso: INJECT_EVENTS para Instrumenation a otras aplicaciones

Sé que este no es el primer hilo sobre este permiso, sin embargo los otros no están terminados o no me ayudan.

Lo que necesito es inflar KeyEvents usando Instrumentación. Que funciona muy bien y es increíblemente más rápido que el shell ("input keyevent") método. Pero si quiero inyectarme a otras aplicaciones atraparé una excepción de seguridad. Eso no me sorprendió mucho, así que añadí <uses-permission android:name="android.permission.INJECT_EVENTS" /> a mi manifiesto. Eclipse se detiene para depurar esto diciéndome que sólo las aplicaciones del sistema pueden usar este permiso. Así que compilé usando la herramienta firmada apk y empujé ese apk a / system / app. Reiniciado, y adivina qué

 W/PackageManager( 3499): Not granting permission android.permission.INJECT_EVENTS to package com.<....> (protectionLevel=2 flags=0x8be45) 

La aplicación sólo está destinada a un dispositivo especial. Así que sé todas las especificaciones y está enraizada. Pero los comandos de inyección de su toman mucho tiempo y SuperUser es necesario. Me encantaría hacer eso con Instrumentación o tal vez hay algo más que debo probar?

El firmware no está escrito por mí, así que no tengo la clave de la plataforma.

¡Gracias por tu ayuda!

EDIT: Consiguió las llaves de la plataforma (el dev utilizó las normales de Google), firmado y alineado, luego empujó el apk a / system / app. También se agregó android:sharedUserId="android.uid.system" a mi manifiesto. En Boot ya no existe el mensaje logcat. Sin embargo, cuando quiero enviar el keysync todavía catche la SecurityException . ¿Algunas ideas?

EDIT2: Aquí hay un extracto de ps . Parece que el paquete no está listado como sistema

 u0_a108 5241 2399 492044 48968 ffffffff 40113ab0 S com.mypackage 

One Solution collect form web for “Permiso: INJECT_EVENTS para Instrumenation a otras aplicaciones”

Actualizar

Utilice el signtool que se encuentra aquí , luego siga adelante y siga leyendo en mi blog.


Ok, tengo las llaves de la plataforma derecha y funciona como un encanto ahora! Firmé usando http://forum.xda-developers.com/showthread.php?t=1125626 y reemplazado (renombrado el signo …. a testkey ….) los trykeys dentro de la carpeta signare con

 signapk-key.platform.x509.pem signapk-key.platform.pk8 

(Google para ellos)

También asegúrese de zipalign y luego copiar a / system / app. Instalar el .apk de la manera normal NO es posible ya que se marca como aplicación del sistema.

  • Pantalla negra de la cámara Android
  • ¿Cómo puedo obtener el temido permiso WRITE_SECURE_SETTINGS para mi aplicación android?
  • Vista previa de Android M: la actividad se recrea después de la concesión del permiso
  • El archivo existe y el directorio IS, pero listFiles () devuelve null
  • Permiso para escribir en la tarjeta SD android
  • Android: Crear nuevo permiso del sistema a través del código fuente de AOSP.
  • Ejecutar comandos shell desde el programa android
  • config.xml problema de formato
  • Limpieza de los permisos de Android no utilizados
  • Advertencias Su apk está utilizando permisos que requieren una política de privacidad: (android.permission.READ_PHONE_STATE)
  • Bypass android usb host permiso diálogo de confirmación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.