2013-01-19 26 views
6

Bunun bu izinle ilgili ilk Konu olmadığını biliyorum, ancak diğerleri bitmedi veya bana yardım etmiyor.İzinler: INJECT_EVENTS Diğer uygulamalar için Instrumentation

İhtiyacım olan şey, Enstrümantasyonu kullanarak KeyEvents'ı şişirmektir. Bu harika çalışıyor ve kabuğun ("giriş keyevent") yönteminden delice daha hızlı. Ancak diğer uygulamalara enjekte etmek istersem bir SecurityException yakalarım. Bu beni çok şaşırtmadı, böylece manifestosuna <uses-permission android:name="android.permission.INJECT_EVENTS" /> ekledim. Eclipse bunu hata ayıklamak için durur, sadece sistem uygulamalarının bu izni kullanabileceğini söyler. Bu yüzden imzalı apk aracını kullanarak derledim ve bu/apk/app için bu apk itti. Yeniden başlatıldı ve tahmin edin,

Uygulama yalnızca bir özel aygıt için hedeflenmiştir. Bu yüzden tüm özellikleri biliyorum ve köklü. Ancak su enjeksiyon komutları uzun sürer ve SuperUser gereklidir. Bunu Enstrümantasyon ile yapmayı çok isterim ya da denemem gereken başka bir şey var mı?

Ürün yazılımı benim tarafımdan yazılmadığından, platform anahtarım yok.

Yardımlarınız için teşekkürler!

DÜZENLEME: Platform anahtarlarını (Dev normal Google'ları kullandı), imzaladı ve hizaladıktan sonra apk'yi/sistem/uygulamaya geçirdi. Ayrıca manifestime android:sharedUserId="android.uid.system" ekledi. Boot'ta artık logcat mesajı yok. Ancak ben keysync göndermek istediğimde hala SecurityException catche. Herhangi bir fikir?

EDIT2: İşte ps'dan bir alıntıdır. sistem olarak yer almayan paket ist gibi görünüyor

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

cevap

3

Güncelleme

Kullanım İşleme devam ederek read on in my blog.


Tamam, doğru platform tuşları var ve gibi çalışır, here bulunduğu Signtool şimdi bir çekicilik! Ben (işareti değiştirildi .... .... TestKey için) (onlar için Google'dan)

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

ile signare klasörünün içindeki testkeys http://forum.xda-developers.com/showthread.php?t=1125626 ile imzalanmış ve yerini

Ayrıca

zipalign emin olun ve daha sonra/sistem/uygulamaya kopyalamak için. .apk'ı normal şekilde yüklemek, Sistem uygulaması olarak işaretlendiğinden NOT olabilir.