AndroidのNative層でのログ出力

まだ調査中だけどとりあえず動いているのでメモ。

(1)LOG出力の際のタグの定義と、Log.hのインクルード
warningが出るのでLOG_TAGはundefしておいたほうが良いはず。

#define LOG_TAG "JNI-Test"
#include <utils/Log.h>

ちなみにLog.hの場所は以下。

frameworks/base/include/utils

(2)Android.mkにlibutilsとlibcutilsをリンク対象に含める
これを含めないとLOGV()でログが出力されなかったり、LOGD()やLOGI()を使おうとするとビルドエラーになったりする。
ちなみにEnabling LOGD messages in Webkit - Android Developers | Google グループでのやり取りを参考にした。

LOCAL_SHARED_LIBRARIES:= \
    libutils\
    libcutils

(3)LOGD()やLOGI()などをコードに埋め込む
GDBでデバッグが面倒な時もあるのでログは重要だと思う。LogCatで手軽に見ることができるので。

タイトルとURLをコピーしました