ome*_*erk 3 android touch android-source
这是Koushik Dutta的Vysor链接 - https://chrome.google.com/webstore/detail/vysor-beta/gidgenkbbabolejbgbpnhbimgjbffefm
它允许您从PC控制Android设备.然而,有一件事让我感到困扰很长一段时间,即使它没有根据,它也可以在手机上创建触摸事件.
在对应用程序和chrome扩展程序进行一些修改之后,我意识到他使用以下方式创建了一个单独的进程 -
sh -c "CLASSPATH=/data/app/com.koushikdutta.vysor-1/base.apk /system/bin/app_process32 /system/bin com.koushikdutta.vysor.Main"
Run Code Online (Sandbox Code Playgroud)
的Main类包含其经由反射传递触摸事件框架的代码.
上面的代码将该Main类作为一个单独的进程shell执行,该进程具有执行该进程的用户.
尽管如此,据我所知,在您自己的应用程序之外创建触摸事件的唯一方法是,如果您是root用户.
有没有人对此有任何想法?
ome*_*erk 11
我已经明白了.
问题是shell还允许用户在整个屏幕上创建触摸事件.当您adb shell使用PC通过USB电缆连接手机时,会自动为您分配用户shell.
他所做的是,然后他Main使用这个shell用户作为一个单独的过程开始他的课程.现在,Main该类中的Java代码具有与shell用户相同的权限(因为duh,它是linux).
而且,在该课程中,他使用反射将触摸事件传递给Android框架.然后,框架自动将触摸事件传播到窗口.
看看我在我自己的应用程序中实现的这两个类 - Main.java和EventInput.java.
但请记住,由于此类Main必须在单独的进程中运行,因此无法访问捆绑它的应用程序的内存.为此,我必须使用套接字机制来传输数据.甚至可以使用aidl.
| 归档时间: |
|
| 查看次数: |
2850 次 |
| 最近记录: |