2012-08-28 9 views
9

que añade¿Cómo imprimir en el archivo de Android C++?

#define LOG_NDEBUG 0 
#define LOG_TAG "StagefrightMediaScanner" 
#include <utils/Log.h> 

en el libstagefright/StagefrightMediaScanner.cpp

pero no puede imprimir cualquier cosa usando LOGV y Loge, ¿Hay alguna otra cosas puedo hacer?

+0

¿usa android-ndk? – Lucifer

+0

@Lucifer No, estoy usando el código fuente de Android 4.0 para depurar el problema del framework. –

+0

Posible duplicado de [¿Qué es la API de registro para llamar desde un programa Android JNI?] (Https://stackoverflow.com/questions/5465941/what-is-the-log-api-to-call-from-an- android-jni-program) –

Respuesta

17

Usted puede utilizar el siguiente código de registro para obtener

__android_log_print(ANDROID_LOG_ERROR, "TRACKERS", "%s", Str); 

y agregue el siguiente archivo de cabecera

#include <android/log.h> 
+0

¿Qué es Str en este caso? Es una variable, cuál será su valor –

+0

__android_log_write() – kinORnirvana

0

No, has hecho bien. Simplemente verifique si está usando ALOGV() que es similar a printf(), si desea imprimir un entero con un registro, puede escribir así: "ALOGV (" Número entero es% d ", entero);".

2

Puede comprobar los marcos/av/media/libstagefright/Android.mk, si hay

LOCAL_SHARED_LIBRARIES += liblog 

en it.

Luego, bajo frameworks/av/media/libstagefright/

$ mm 

$ adb push $OUT/system/lib/libstagefright.so /system/lib/ 

$ adb shell killall mediaserver 

luego reiniciar el teléfono o AM iniciar una MEDIA_MOUNTED intención, MediaScanner va a funcionar, y los registros que acaba de añadir (ya sea ALOGE/ALOGV o LOGE/LOGV) debe ser mostrado.

Cuestiones relacionadas