我现有的原生C / C ++代码,我目前通过NDK构建到本机库和Android应用程序中。本机代码充满了对stdout和stderr的print语句。这样的事情有最好的做法吗?我可以忽略它们,还是需要将它们重定向到Android日志系统?
我将现有代码构建为独立的本机二进制文件并通过adb运行它,我看到了printf(到stdout)到控制台的所有输出。
看起来像是一个愚蠢的问题,但是stdio去了哪个Android应用程序?
答案 0 :(得分:1)
默认情况下,stdout和stderr被发送到Android应用程序的/ dev / null(无处)。
您可以使用adb setprop将log.redirect-stdio设置为true,或将“log.redirect-stdio = true”放在/data/local.prop中(您可能需要root权限才能创建,但它更可靠)。这样做会将其输出发送到logcat日志。
请参阅“查看stdout和stderr”:http://developer.android.com/guide/developing/tools/adb.html