为什么在android上重定向stdout/stderr不起作用?

tre*_*nki 10 android native stdout android-ndk

我下载了SDL 1.3并在我的Android 2.2设备上与OpenGL ES一起测试了它.它工作正常,但我没有得到printf呼叫的输出.我尝试了android开发者页面中提到的下面的命令,但是DDMS在Eclipse中都没有adb logcat报告程序使用的字符串printf.我确保过滤stdout标签.

$ adb shell stop
$ adb shell setprop log.redirect-stdio true
$ adb shell start
Run Code Online (Sandbox Code Playgroud)

我错过了什么或做错了什么?

svd*_*ree 1

另一种方法是创建一个/data/local.prop仅包含该行的文件log.redirect-stdio=true。也许这样效果更好?另请注意,stdout 是缓冲的,因此您的输出可能仍位于缓冲区中,等待刷新。您可以fflush手动调用来检查这一点。