mas*_*boo 5 c c++ android android-ndk
我有以下代码 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);
}
Run Code Online (Sandbox Code Playgroud)
我在 logcat 中没有看到任何输出。那么它会去哪里呢?我怎样才能看到它?
根据文档,输出丢失:
默认情况下,Android 系统将
stdoutandstderr(System.out和System.err) 输出发送到/dev/null.
有一些方法可以更改它(在有 root 权限的设备上),例如使用setprop,取自文档:
$ adb shell stop
$ adb shell setprop log.redirect-stdio true
$ adb shell start
Run Code Online (Sandbox Code Playgroud)