Uprawnienie: INJECT_EVENTS dla Instrumenation do innych aplikacji

Wiem, że nie jest to pierwszy wątek o tym zezwoleniu, jednak pozostałe wątki nie są ukończone lub nie pomagają mi.

Potrzebuję nadmuchać zdarzenia KeyEvent przy użyciu oprzyrządowania. To działa świetnie i jest szalenie szybsze niż metoda powłoki („input keyevent”). Ale jeśli chcę wstrzyknąć innym aplikacjom, przechwytuję wyjątek SecurityException. To nie zaskoczyło mnie zbytnio, więc dodałam<uses-permission android:name="android.permission.INJECT_EVENTS" /> do mojego manifestu. Eclipse przestaje debugować, informując mnie, że tylko aplikacje systemowe mogą korzystać z tego uprawnienia. Więc skompilowałem używając podpisanego narzędzia apk i pchnąłem to apk do / system / app. Ponownie uruchomiony i zgadnij co

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

Aplikacja jest przeznaczona tylko dla jednego specjalnego urządzenia. Znam więc wszystkie specyfikacje i jest zakorzeniony. Alesu polecenia wtrysku trwają długo i wymagany jest SuperUser. Chciałbym to zrobić z Instrumentacją, a może jest coś jeszcze, co powinienem spróbować?

Oprogramowanie układowe nie jest napisane przeze mnie, więc nie mam klucza platformy.

Dzięki za pomoc!

EDYCJA: Dostałem klucze platformy (dev używał normalnych Google), podpisał i wyrównał, a następnie pchnął apk do / system / aplikacji. Dodano równieżandroid:sharedUserId="android.uid.system" do mojego manifestu. W Boot nie ma już komunikatu logcat. Jednak gdy chcę wysłać synchronizator kluczy, nadal przechwytujęSecurityException. Jakieś pomysły?

EDIT2: Oto fragment zps. Wygląda na to, że pakiet nie jest wymieniony jako system

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

questionAnswers(1)

yourAnswerToTheQuestion