过去三天我一直在寻找答案,但尚未找到有效的答案。我正在尝试编写一个可以通过 ADB 使用自定义命令进行控制的 Android 应用程序。无论如何,我可以在应用程序和 ADB shell 之间来回发送字符串吗?
预先感谢,并对我的菜鸟问题表示歉意。
当然,有多种方法可以做到这一点。
您可以使用unix域套接字,并从android应用程序和通过滥用ndk构建的命令行可执行文件打开它,推送到设备上与版本相关的位置(/data/local、/sqlite_stmt_journals等) )并运行。编辑:在最近的 Android 版本中可能没有这样的可写/可执行目录。您可能必须让应用程序本身将可执行文件写入其私有目录,并为其设置全局读取和执行权限。进一步编辑:adb 也可以转发 unix 套接字。
与互联网套接字相同,只是现在您可以选择设置 adb 端口转发(假设 Android 应用程序是“服务器”端),以便从开发计算机上运行的进程直接与 Android 应用程序进行通信,无需通过 adb shell 传递数据。除非声明互联网权限令人反感(它应该比让你的 PC 端应用程序“驱动”adb 更不用担心),这可能是最接近“官方”功能并且对 Android 版本依赖性最小的方法。它还可以简单地适应通过 WiFi 进行通信。
您可以使用一对 fifo,并使用 shell 命令写入和读取它们(为了可移植性,在应用程序的私有存储中创建它们,但使它们全局可读/可写)
你也许可以用 pty 玩一些游戏
我想你可以使用文件作为邮箱吗
你可以使用'am'命令发送Intents(至少对于启动android应用程序很有用,如果通信效率有点低的话)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)