android – vysor如何在非root设备上创建触摸事件?

android – vysor如何在非root设备上创建触摸事件?,第1张

概述这是Vysor的链接Koushik Dutta – https://chrome.google.com/webstore/detail/vysor-beta/gidgenkbbabolejbgbpnhbimgjbffefm 它允许您从PC控制Android设备. 然而,有一件事让我感到困扰很长一段时间,即使它没有根据,它也可以在手机上创建触摸事件. 在对应用程序和chrome扩展程序进行一些修改之 这是Vysor的链接Koushik Dutta – 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"

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设备上创建触摸事件?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1122721.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存