它允许您从PC控制AndroID设备.
然而,有一件事让我感到困扰很长一段时间,即使它没有根据,它也可以在手机上创建触摸事件.
在对应用程序和Chrome扩展程序进行一些修改之后,我意识到他使用以下方法创建了一个单独的进程 –
sh -c "CLAsspATH=/data/app/com.koushikdutta.vysor-1/base.apk /system/bin/app_process32 /system/bin com.koushikdutta.vysor.Main"
Main类包含通过反射将触摸事件传递给框架的代码.
上面的代码将Main类作为一个单独的进程执行,该进程具有shell作为执行该进程的用户.
尽管如此,据我所知,在您自己的应用程序之外创建触摸事件的唯一方法是,如果您是root用户.
有没有人对此有任何想法?
解决方法 我已经明白了.问题是shell用户也可以在整个屏幕上创建触摸事件.当您从PC上执行adb shell时,通过USB电缆将手机连接到它,您将自动分配用户shell.
他所做的是,然后他使用这个shell用户将其Main类作为一个单独的进程启动.现在,Main类中的Java代码具有与shell用户相同的权限(因为duh,它是linux).
并且,在该类中,他使用反射将触摸事件传递给AndroID框架.然后,框架自动将触摸事件传播到窗口.
看看我在自己的应用程序中实现的这两个类 – Main.java和EventInput.java.
但请记住,由于此Main类必须在单独的进程中运行,因此无法访问捆绑它的应用程序的内存.为此,我必须使用套接字机制来传输数据.甚至可以使用aIDl.
总结以上是内存溢出为你收集整理的android – vysor如何在非root设备上创建触摸事件?全部内容,希望文章能够帮你解决android – vysor如何在非root设备上创建触摸事件?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)