gpt4 book ai didi

android - 一个 Android 应用程序可以通过 UI Automator 控制另一个应用程序吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:00:02 25 4
gpt4 key购买 nike

我正在尝试编写一个可以部署在目标设备上的 Android 应用程序/服务。该应用程序可用作远程控制目标设备的 Hook 。从 Jelly Bean 版本开始,有可用的 UI Automator 实现,它提供了类似的功能。但是,UI Automator 似乎只能通过 ADB 接口(interface)使用。设备上运行的应用程序不能直接使用 UI Automator(???)。我正试图找到一个无需 ADB 帮助即可工作的解决方案。例如,钩子(Hook)可以作为 protobuf 服务器监听套接字。客户端可以向钩子(Hook)发送命令来远程控制和设备。我查看了 Andorid SDK 源代码。看起来唯一的方法是使用 android 可访问性 API。请问有没有更好的办法?

最佳答案

可以从应用程序运行 UiAutomator,您只需要在设备上安装您的测试 jar 并为您的应用程序授予 su 权限即可。

然后您可以从您的应用程序调用:

uiautomator runtest Test.jar -c com.package.name.ClassName -e key value

您的设备将执行您的 UiAutomatorTestCase 将执行的任何操作。

简单示例:

Process rt = Runtime.getRuntime().exec("su");
DataOutputStream os = new DataOutputStream(rt.getOutputStream());

os.writeBytes("uiautomator runtest Testing.jar -c com.hey.rich.CalculatorDemo" + "\n");
os.flush();
os.writeBytes("exit\n");

关于android - 一个 Android 应用程序可以通过 UI Automator 控制另一个应用程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16953809/

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