我有现有的本机 C/C++ 代码,我目前正在通过 NDK 将其构建到本机 lib 和 Android 应用程序中。本机代码充满了打印到 stdout 和 stderr 的语句。有这样的最佳实践吗?我可以忽略它们还是需要通过并将它们重定向到 Android 日志记录系统?
我将现有代码构建为独立的本机二进制文件并通过 adb 运行它,我看到了从 printf(到 stdout)到控制台的所有输出。
似乎要问一个愚蠢的问题,但 stdio 在哪里适用于 Android 应用程序?
我有现有的本机 C/C++ 代码,我目前正在通过 NDK 将其构建到本机 lib 和 Android 应用程序中。本机代码充满了打印到 stdout 和 stderr 的语句。有这样的最佳实践吗?我可以忽略它们还是需要通过并将它们重定向到 Android 日志记录系统?
我将现有代码构建为独立的本机二进制文件并通过 adb 运行它,我看到了从 printf(到 stdout)到控制台的所有输出。
似乎要问一个愚蠢的问题,但 stdio 在哪里适用于 Android 应用程序?
默认情况下,stdout 和 stderr 被发送到 Android 应用程序的 /dev/null(无处)。
您可以使用 adb setprop 将 log.redirect-stdio 设置为 true,或者将“log.redirect-stdio=true”放在 /data/local.prop 中(您可能需要 root 访问权限才能创建,但它更可靠)。这样做会将它们的输出发送到 logcat 日志。
请参阅“查看标准输出和标准错误”:http: //developer.android.com/guide/developing/tools/adb.html