本文介绍Eclipse 的 NDK 环境如何打印log信息
如何编译NDK项目请参考 NDK使用流程
流程
- 在C中引用头文件,定义TAG、LOG 宏
- 配置 Android.mk
- Java编写测试方法
引用android/log.h 头文件
#include <android/log.h>
添加宏 TAG 、LOGV
#define TAG "Gmw"
#define LOGV(...) __android_log_print(ANDROID_LOG_VERBOSE, TAG, __VA_ARGS__)
ANDROID_LOG_VERBOSE 枚举类型 用来区分LOG等级,比如红色的error酱紫。
TAG log输出的key标记
__VA_ARGS__ 要打印的log信息
2.编辑Android.mk
添加 llog是有关log的一个库
# for logging
LOCAL_LDLIBS += -llog
添加完成之后如下
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := hello
LOCAL_SRC_FILES := hello.c
# for logging
LOCAL_LDLIBS += -llog
include $(BUILD_SHARED_LIBRARY)
3.编写Java测试方法可参考NDK使用流程,然后编译,看运行效果
在C中写输出的log信息
#include<stdio.h>
#include<stdlib.h>
#include "com_example_myhellojni_MainActivity.h"
#include <android/log.h>
#define TAG "Gmw"
#define LOGV(...) __android_log_print(ANDROID_LOG_VERBOSE, TAG, __VA_ARGS__)
JNIEXPORT jstring JNICALL Java_com_example_myhellojni_MainActivity_getStringFromC(
JNIEnv *env, jclass jclass) {
LOGV("hello from native");
return (*env)->NewStringUTF(env, "Hello NDK");
}
log输出截图