Berechtigung: INJECT_EVENTS zur Instrumenation für andere Apps

Ich weiß, dass dies nicht der erste Thread zu dieser Erlaubnis ist, die anderen sind jedoch noch nicht fertig oder helfen mir nicht.

Was ich brauche, ist das Aufpumpen von KeyEvents mit Instrumentation. Das funktioniert super und ist wahnsinnig schneller als die Shell-Methode ("input keyevent"). Wenn ich jedoch andere Apps einbinden möchte, fange ich eine SecurityException ab. Das hat mich nicht sonderlich überrascht, fügte ich hinzu<uses-permission android:name="android.permission.INJECT_EVENTS" /> zu meinem Manifest. Eclipse stoppt, um dieses Problem zu beheben. Dies bedeutet, dass nur System-Apps diese Berechtigung verwenden können. Also habe ich mit dem signierten apk Tool kompiliert und dieses apk nach / system / app verschoben. Neu gestartet, und raten Sie mal

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

Die App ist nur für ein spezielles Gerät bestimmt. Also kenne ich alle Spezifikationen und es ist verwurzelt. Abersu Injection-Befehle dauern zu lange und SuperUser wird benötigt. Ich würde das gerne mit Instrumentation machen, oder gibt es noch etwas, das ich versuchen sollte?

Die Firmware wurde nicht von mir geschrieben, daher habe ich keinen Plattformschlüssel.

Danke für Ihre Hilfe!

BEARBEITEN: Erhielt die Plattformschlüssel (der Entwickler verwendete die normalen Google-Schlüssel), signiert und ausgerichtet, dann schob er die apk nach / system / app. Auch hinzugefügtandroid:sharedUserId="android.uid.system" zu meinem Manifest. Beim Booten wird die Logcat-Nachricht nicht mehr angezeigt. Wenn ich jedoch den Keysync senden möchte, fange ich immer noch mit demSecurityException. Irgendwelche Ideen?

EDIT2: Hier ein Auszug ausps. Scheint, als wäre das Paket nicht als System aufgeführt

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

Antworten auf die Frage(1)

Ihre Antwort auf die Frage