2012-08-28 24 views
9

tôi thêmCách in nhật ký trong tệp android C++?

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

trong libstagefright/StagefrightMediaScanner.cpp

nhưng không thể in bất cứ điều gì bằng LOGV và Loge, không có bất kỳ những thứ khác tôi có thể cần phải làm gì?

+0

hiện nó sử dụng android-ndk? – Lucifer

+0

@Lucifer Không, tôi đang sử dụng mã nguồn Android 4.0 để gỡ lỗi sự cố của khung công tác. –

+0

Bản sao có thể có của [API nhật ký để gọi từ chương trình JNI Android là gì?] (Https://stackoverflow.com/questions/5465941/what-is-the-log-api-to-call-from-an- android-jni-program) –

Trả lời

17

Bạn có thể sử dụng đoạn mã sau để có được Đăng

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

và thêm tập tin tiêu đề sau

#include <android/log.h> 
+0

Str là gì trong trường hợp này? Đây có phải là biến, giá trị của nó là –

+0

__android_log_write() – kinORnirvana

0

Không có bạn đã làm đúng. Chỉ cần kiểm tra xem liệu bạn đang sử dụng ALOGV() tương tự như printf(), nếu bạn muốn in một số nguyên bằng nhật ký thì bạn có thể viết như sau: "ALOGV (" Số nguyên là% d ", số nguyên);".

2

Bạn có thể kiểm tra khung/av/media/libstagefright/Android.mk, liệu có

LOCAL_SHARED_LIBRARIES += liblog 

trong đó.

Sau đó, dưới frameworks/av/media/libstagefright/

$ mm 

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

$ adb shell killall mediaserver 

Sau đó khởi động lại điện thoại của bạn hoặc là bắt đầu một MEDIA_MOUNTED ý định, MediaScanner sẽ làm việc, và các bản ghi mà bạn vừa thêm vào (hoặc ALOGE/ALOGV hoặc LOGE/LOGV) sẽ được hiển thị.

Các vấn đề liên quan