Foa*_*Guy 41 permissions android rom
我正在尝试创建一个应用程序,该应用程序将在后台运行一个能够将触摸屏事件注入任何正在运行的活动的服务.我可以通过调用将事件注入到我的应用程序的一部分Activity中Instrumentation.sendPointerSync(motionEvent);但是如果我尝试在没有运行应用程序的活动的情况下执行此操作,则会收到权限错误,说我没有INJECT_EVENTS权限.我已将此权限添加到我的清单中,但是<uses-permission android:name="android.permission.INJECT_EVENTS"></uses-permission>它仍然会抛出相同的权限异常.经过一些搜索,我得到了答案,为了获得INJECT_EVENTS权限,您的应用必须使用与系统签名相同的签名进行签名.但我不清楚这究竟是什么意思.我将不得不找到一个自定义rom构建它并使用与该应用程序签名相同的签名对其进行签名.然后在我的设备上安装自定义ROM,然后安装我的应用程序,我将能够正确地注入触摸事件?如果是这样的话是我最好与已放在一起,就像一个自定义ROM开始从该页面或者是我要去的地方需要抢Android项目的git的副本,并建立整个事情的情况myslef?无论哪种方式,任何人都知道你可以指向我的地方,这会让我朝着正确的方向努力实现这一目标吗?
Bre*_*ust 19
要将事件注入单独的进程,需要将应用程序安装到/ system/app 并使用系统证书对APK进行签名.
<uses-permission android:name="android.permission.INJECT_EVENTS"/>
Run Code Online (Sandbox Code Playgroud)
这要求您拥有AOSP源,以便使用用于构建手机上运行的系统的Google密钥构建密钥库.
鉴于你有一个AOSP目录,@ Eli非常出色地展示了如何使用一个名为'keytool-importkeypair'的漂亮脚本来构建密钥库
以IntelliJ为例,从Build菜单中选择Generate Signed APK .. 找到上面创建的密钥库,输入给定的密码(例如,android),如果需要,给密钥提供相同的密码.请注意,已签名的apk将写入项目根目录(!)而不是典型位置(./out/production//).
adb root
adb remount
adb push MyApp.apk /system/app
Run Code Online (Sandbox Code Playgroud)
"安装"自动发生.但请注意,与普通应用安装过程不同,APK中的任何本机库都不会复制到/ system/lib /中.如果您使用NDK构建并调用自己的本机库,则需要手动执行此操作.
Yos*_*ssi 12
实际上,这在root设备上非常简单.我认为任何正在运行的应用程序/系统都可以访问它所需的任何权限.因此,只需手动将您的应用程序安装到/ system(如此处所述http://androidforums.com/droid-all-things-root/64603-installing-apk-system-app-directory.html):
在终端仿真器中执行以下命令,将/ system目录重新安装为读/写,并将应用程序从SDCARD安装到/ system/app目录:
su
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
cp /sdcard/APP.apk /system/app
Run Code Online (Sandbox Code Playgroud)
如果您更喜欢使用计算机中的adb,请执行以下命令:
adb remount
adb shell cp /sdcard/APP.apk /system/app
Run Code Online (Sandbox Code Playgroud)
一些用户使用了Google市场上的root explorer来简化此过程.
或者,检查一下:如何使用系统权限编译Android应用程序
使用触摸事件:
然后生成证书:
./keytool-importkeypair -k google_certificate.keystore -p android -pk8 platform.pk8 -cert platform.x509.pem -alias platform
现在从Eclipse导出您的应用程序并使用您生成的新证书进行签名
查看http://code.google.com/p/android-event-injector/
从API 18开始,有UiAutomation类,它不受用户权限的约束.
有关详细信息,请参阅http://developer.android.com/reference/android/app/Instrumentation.html#getUiAutomation()