【问题标题】:where is Android NDK printf output?Android NDK printf 输出在哪里?
【发布时间】:2015-09-13 19:47:52
【问题描述】:

我有以下代码 c++ 代码:

static void print_string(JNIEnv * env, jclass clazz, jstring str){
    jboolean isCopy;
    const char* utf_string;
    utf_string = env->GetStringUTFChars(str, &isCopy);

    env->ReleaseStringUTFChars(str, utf_string);
    //LOGI("%s",utf_string);
  //  LOGE("JNI Out = %s", utf_string);
    printf("jni out: %s",utf_string);
   __android_log_print(ANDROID_LOG_INFO, "MyTag", "The value is %s", utf_string);
    env->ReleaseStringUTFChars(str, utf_string);
}

我在 logcat 中看不到任何输出。那么它会去哪里呢?怎么看?

【问题讨论】:

    标签: android c++ c android-ndk


    【解决方案1】:

    根据the docs输出丢失:

    Android系统默认发送stdoutstderrSystem.outSystem.err)输出到/dev/null

    有一些方法可以改变它(在根设备上),例如使用setprop,取自文档:

    $ adb shell stop
    $ adb shell setprop log.redirect-stdio true
    $ adb shell start
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-23
      • 2016-11-01
      • 1970-01-01
      相关资源
      最近更新 更多