gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 11:42:49 25 4
gpt4 key购买 nike

这是 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"

Main 类包含通过反射将触摸事件传递给框架的代码。

以上代码将 Main 类作为一个单独的进程执行,该进程具有 shell 作为执行该进程的用户。

不过,据我所知,在您自己的应用程序之外创建触摸事件的唯一方法是您是 root。

有人知道吗?

最佳答案

我想通了。

问题是 shell 用户也可以在整个屏幕上创建触摸事件。当您从 PC 执行 adb shell 时,通过 USB 数据线将您的手机连接到它,系统会自动为您分配用户 shell

他所做的是,然后他使用这个 shell 用户将他的 Main 类作为一个单独的进程启动。现在,Main 类中的 Java 代码与 shell 用户具有相同的权限(因为 duh,它是 linux)。

并且,在该类中,他使用反射将触摸事件传递给 Android 框架。然后,框架会自动将触摸事件传播到窗口。

看看我在我自己的一个应用程序中实现的这两个类 - Main.javaEventInput.java .

但请记住,由于此 Main 类必须在单独的进程中运行,因此它无法访问 bundle 它的应用程序的内存。为此,我必须使用套接字机制来传输数据。甚至 aidl 也可以用于此目的。

关于android - vysor 如何在非 root 设备上创建触摸事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32954720/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com