我一直在寻找答案或过去3天,还没有找到一个工程。我正在尝试编写一个可以通过自定义命令从ADB控制的Android应用程序。无论如何,我可以在应用程序和ADB外壳之间发回字符串吗?如何在ADB shell和Android应用程序之间来回发送消息?
在此先感谢,并为我的菜单问题感到遗憾。
我一直在寻找答案或过去3天,还没有找到一个工程。我正在尝试编写一个可以通过自定义命令从ADB控制的Android应用程序。无论如何,我可以在应用程序和ADB外壳之间发回字符串吗?如何在ADB shell和Android应用程序之间来回发送消息?
在此先感谢,并为我的菜单问题感到遗憾。
当然,有几种方法可以做到这一点。
你可以使用Unix域套接字,并从两个Android应用程序,并通过命令行打开可执行文件会被滥用NDK编译,推到一个不同版本的不同位置的设备上(/数据/本地,/ sqlite_stmt_journals等)并运行。编辑:在最近的android版本中可能没有这样的可写/可执行目录。您可能必须让应用程序自己将可执行文件写入其专用目录,并为其设置全局读取和执行权限。进一步编辑:adb也可以转发unix套接字。
与互联网套接字相同的东西,只有现在你可以选择设置一个adb端口转发(提供的android应用程序是'服务器'端),以便直接与开发机器上运行的进程进行通信与android应用程序,而不通过adb外壳传递数据。除非声明互联网许可是令人反感的(它不应该让你的PC端应用程序“驱动”adb),这可能是最接近“官方”功能并且对android版本依赖性最小的方法。它也可以适用于通过wifi进行通信。
你可以使用一对的FIFO的写和用shell命令读取它们(便携性,在应用程序的专用存储创建它们,但让他们的世界可读/写)
你可以玩一些游戏用PTY
你能我想使用的文件作为邮箱
可以用“AM”命令发送意图(至少启动Android应用程序非常有用,如果有点效率低下沟通)