gpt4 book ai didi

android - 如何在 ADB shell 和 Android 应用程序之间来回发送消息?

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

过去 3 天我一直在寻找答案,但还没有找到有效的答案。我正在尝试编写一个可以使用自定义命令从 ADB 控制的 Android 应用程序。无论如何,我可以在应用程序和 ADB shell 之间来回发送字符串吗?

提前致谢,很抱歉我的菜鸟问题。

最佳答案

当然,有几种方法可以做到这一点。

  • 您可以使用 unix 域套接字,并从 android 应用程序和您将通过滥用 ndk 构建的命令行可执行文件打开它,推送到设备上依赖于版本的位置 (/data/本地、/sqlite_stmt_journals 等)并运行。编辑:在更新的 android 版本中可能没有这样的可写/可执行目录。您可能必须让应用程序本身将可执行文件写入其私有(private)目录,并为其设置全局读取和执行权限。进一步编辑:adb 也可以转发 unix 套接字。

  • 与互联网套接字相同,只是现在您可以选择设置 adb 端口转发(前提是 android 应用程序是“服务器”端)以便从您的开发机器上运行的进程进行通信直接使用 android 应用程序,无需通过 adb shell 传递数据。除非声明互联网许可是令人反感的(它应该比让您的 PC 端应用程序“驱动”adb 更令人担忧)这可能是最接近“官方”功能并且对 android 版本依赖性最少的方法。它还可以简单地适应通过 wifi 进行通信。

  • 您可以使用一对 fifos 并使用 shell 命令写入和读取它们(为了便携性,在应用程序的私有(private)存储中创建它们,但使它们全局可读/可写)

  • 你也许可以和 pty 一起玩一些游戏

  • 我想你可以将文件用作邮箱吗

  • 您可以使用“am”命令发送 Intents(如果通信效率有点低,至少对启动 android 应用程序很有用)

关于android - 如何在 ADB shell 和 Android 应用程序之间来回发送消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11076408/

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