【问题标题】:Android NDK Native LIB, What to do about existing stdio?Android NDK Native LIB,如何处理现有的 stdio?
【发布时间】:2011-10-10 23:31:17
【问题描述】:

我有现有的本机 C/C++ 代码,我目前正在通过 NDK 将其构建到本机库和 Android 应用程序中。本机代码充满了打印到 stdout 和 stderr 的语句。有这样的最佳实践吗?我可以忽略它们还是需要通过并将它们重定向到 Android 日志系统?

我将现有代码构建为独立的本机二进制文件并通过 adb 运行它,我看到了从 printf(到 stdout)到控制台的所有输出。

这似乎是一个很愚蠢的问题,但 Android 应用程序的 stdio 在哪里?

【问题讨论】:

    标签: android android-ndk native-code


    【解决方案1】:

    默认情况下,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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-17
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    • 2015-09-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多