Android 如何使用adb套接字从手机中获取结果?
我已经编写了一个可执行文件,并将其推入/system/bin 运行该文件后,它将在float中给出一个结果 现在在PC端,我想得到这个结果 首先,我将这个浮点数写入一个文件,并使用“adb pull”来拉取这个文件,然后读取这个文件。 因为我需要经常做这个操作,可能每秒2次。这会导致手机性能不佳 当我使用adb套接字时,它是否影响很小? 我的可执行文件应该输出到哪里? 如何得到结果 谢谢。Android 如何使用adb套接字从手机中获取结果?,android,adb,Android,Adb,我已经编写了一个可执行文件,并将其推入/system/bin 运行该文件后,它将在float中给出一个结果 现在在PC端,我想得到这个结果 首先,我将这个浮点数写入一个文件,并使用“adb pull”来拉取这个文件,然后读取这个文件。 因为我需要经常做这个操作,可能每秒2次。这会导致手机性能不佳 当我使用adb套接字时,它是否影响很小? 我的可执行文件应该输出到哪里? 如何得到结果 谢谢。 詹姆斯。如果你让电话保持连接,你可能就这么做了 adb shell /system/bin/myexecu
詹姆斯。如果你让电话保持连接,你可能就这么做了
adb shell /system/bin/myexecutable
让你的二进制文件输出到标准输出。只要你的程序运行得很快,每秒两次应该不会太快。否则,你可以这样做
adb shell cat /somewhere/myoutfile
查看当前文件中的内容。如果有可用的ADB连接,您可以使用
logcat
作为从Android应用程序向桌面计算机获取数据的媒介
我的想法是有两部分:
Log.d("MyAppOutput", "This is the output I am looking for");
adb logcat -s MyAppOutput
我相信这可以让你近实时地阅读Android应用程序的结果。如果您需要知道日志消息的时间戳,可以添加
-v time
参数,在每条消息前面加上时间戳。我想使用结果,而adb shell命令在我频繁使用时会导致手机性能不佳。这让我惊讶的是,您的性能不佳。你能量化一下吗?但是,如果你想使用结果,你可以很容易地做到这一点——只要在你想的任何地方通过管道传输任一命令的输出。我不知道“只要在你想的任何地方通过管道传输任一命令的输出”是什么意思。PC的操作系统是win7。在我的应用程序中,有一个计时器(1秒),如果它定期调用adb shell命令,可能会导致应用程序没有响应。啊,我的坏。我假设linux系统中的管道是有意义的。在我的系统上,每秒运行一次adb shell不是问题。。。很抱歉,我不能提供更多帮助。我没有Android应用程序,可执行文件只是获取CPU使用率,现在我正在尝试编写服务器以监控端口,在PC端,发送命令通知服务器发送结果。由于您的问题表明您已编写可执行文件,我假设您可以访问源代码。无法修改可执行文件以将其输出写入logcat而不是文件。它可以在一个循环中运行,并每秒多次写入logcat,以便您的PC应用程序读取。这意味着你永远不需要提取任何文件,只需要不断跟踪logcat。我的可执行文件是用C语言编写的,如何将其输出修改为Locat?我认为在手机中运行循环的后台进程可能会消耗手机有限的CPU和内存。我假设您使用的是NDK。检查此链接()以写入logcat。如果bg进程只是在500毫秒后醒来并运行快速扫描然后睡觉,那么它不应该消耗手机的资源。当然,它不会比当前的实现有更多的负载。这个想法对我帮助很大,所以我给了它+1。虽然它似乎不能回答这个问题。但我寻找了一种简单的方法来检查我的应用程序是否在android上启动并正常运行。这是我检查的好方法