NDK開発のログ印刷
NDKでログを印刷するには、次の3つの手順に従います.
一、Android.mkに次の内容を追加します.
以上の2行のコードを2つ選択します.この行のコードは、
二、引用ヘッダファイル
三、変数の定義
OK!
上記の3つのステップを完了すると、ログを印刷できます.
注意:ログを印刷するときに文字列がjstringを印刷できない場合は、jstringをC文字列に変換して印刷します(変換方法は前文を参照).
一、Android.mkに次の内容を追加します.
LOCAL_LDLIBS := -lm -llog
LOCAL_LDLIBS:=-L$(SYSROOT)/usr/lib -llog
以上の2行のコードを2つ選択します.この行のコードは、
include $(CLEAR_VARS)
以降に追加する必要があります.そうしないと、効果はありません.例えば、私はcファイルとcppファイルを持っています.それぞれjni 1です.cとjni 3.cppでは、ログを印刷するには、次のように追加する必要があります.include $(CLEAR_VARS)
LOCAL_LDLIBS := -lm -llog
LOCAL_MODULE := jni1
LOCAL_SRC_FILES := jni1.c
include $(BUILD_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_LDLIBS:=-L$(SYSROOT)/usr/lib -llog
LOCAL_MODULE := jni3
LOCAL_SRC_FILES := jni3.cpp
include $(BUILD_SHARED_LIBRARY)
二、引用ヘッダファイル
#include <android/log.h>
三、変数の定義
// TAG , LogCat TAG NDK
#define TAG "JNITEST"
// info
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO,TAG,__VA_ARGS__)
// debug
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, TAG, __VA_ARGS__)
// error
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,TAG,__VA_ARGS__)
ANDROID_LOG_INFO
はログレベルであり、これはLogCatでは1つ1つに対応しており、TAG
はフィルタラベルであり、__VA_ARGS__
は印刷する実際のログ内容である.OK!
上記の3つのステップを完了すると、ログを印刷できます.
LOGI("the string is :%s",str1);
注意:ログを印刷するときに文字列がjstringを印刷できない場合は、jstringをC文字列に変換して印刷します(変換方法は前文を参照).