2013-01-19 28 views
6

我知道這不是關於此權限的第一條線程,但其他線程尚未完成或無法幫助我。權限:INJECT_EVENTS用於指導其他應用程序

我需要的是使用Instrumentation充氣KeyEvents。這很好用,比shell(「input keyevent」)方法更快速。但是如果我想注入其他應用程序,我會遇到SecurityException。這並沒有讓我感到意外,所以我在我的清單中加入了<uses-permission android:name="android.permission.INJECT_EVENTS" />。 Eclipse停止調試,告訴我只有系統應用程序可以使用此權限。所以我使用已簽名的apk工具編譯並將該apk推送到/ system/app。重新啓動,並猜測什麼

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

該應用程序僅針對一個特殊設備。所以我知道所有的規格和它的根源。但是su注入命令需要很長時間並且需要超級用戶。我很樂意用Instrumentation來做到這一點,或者我應該嘗試一些其他的東西?

固件不是由我寫的,所以我沒有平臺密鑰。

感謝您的幫助!

編輯:得到平臺鍵(開發使用正常的谷歌的),簽署和對齊,然後推apk到/系統/應用程序。還在我的清單中添加了android:sharedUserId="android.uid.system"。在啓動時,不再有logcat消息。但是,當我想發送keysync我仍然catche SecurityException。有任何想法嗎?

編輯2:這是摘自ps。好像沒有列爲系統封裝IST

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

回答

3

更新

使用位於 here,然後繼續和 read on in my blog.


好吧,我得到了正確的平臺密鑰和它的作品像signtool現在魅力!我簽署使用http://forum.xda-developers.com/showthread.php?t=1125626 和更換(改名爲標誌....到密押....)signare文件夾內的testkeys與

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

(谷歌爲他們)

還要確保的zipalign和然後複製到/ system/app。正常的方式安裝.apk是不是可能,因爲它被標記爲系統應用程序。

相關問題