我下载了SDL 1.3与OpenGL ES的一起测试它在我的Android 2.2的设备上。 它工作正常,但我没有得到从输出printf
调用。 我试图为在下面提到的命令Android开发者页面 ,但既不DDMS
在Eclipse也不adb logcat
报告说,该程序使用写入字符串printf
。 我确信筛选的stdout
标签。
$ adb shell stop
$ adb shell setprop log.redirect-stdio true
$ adb shell start
我在想什么或做错了吗?
这样做的另一种方式是具有文件/data/local.prop
,只包含行log.redirect-stdio=true
。 也许这工作得更好? 另外请注意,标准输出缓冲,所以它可能是你的输出依旧坐在缓冲区,等待刷新。 你可以调用fflush
手动进行检查。
根据该演示文稿 , log.redirect-stdio
为输出Dalvik的,重定向C / C ++输出(如printf
),则必须在设备上安装的busybox并使用其xargs
效用这样的:
myprogram | xargs log
这显然适用于被调用作为一个独立的可执行代码。 如果这是仅用于调试的目的,你可以写一个小程序来调用库中,并使用调用从应用程序xargs
。