Android NDK 开发使用 ANDROID_LOG 日志库

定义头文件

common.h

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#ifndef CZXING_COMMON_H
#define CZXING_COMMON_H

#include <jni.h>

#ifdef NDK_DEBUG
#define LOG_TAG "yezhou"
#include <android/log.h>

#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)
#define LOGW(...) __android_log_print(ANDROID_LOG_WARN, LOG_TAG, __VA_ARGS__)
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__)
#define LOGF(...) __android_log_print(ANDROID_LOG_FATAL, LOG_TAG, __VA_ARGS__)
#endif

#endif

调用方式

1
2
3
4
5
6
7
8
9
10
11
12
13
#include "common.h"

extern "C"
JNIEXPORT jint JNICALL
Java_cc_androidx_zxing_code_NativeSdk_writeCode(JNIEnv *env, jobject instance, jstring jcontent,
jint width, jint height, jint color,
jstring jformat, jobjectArray result) {
const char *content = env->GetStringUTFChars(jcontent, 0);
const char *format = env->GetStringUTFChars(jformat, 0);
LOGE("writeCode.content [%s]", content);
...
return 0;
}

引入log库

CMakeLists.txt

1
2
3
4
5
6
7
8
9
10
11
12
find_library(
log-lib
log)

target_link_libraries(
czxing
ZXingCore

jnigraphics
android
z
${log-lib})

Android.mk

1
2
3
LOCAL_MODULE     := ccrypto
LOCAL_LDLIBS := -llog \
-lm

Powered by AppBlog.CN     浙ICP备14037229号

Copyright © 2012 - 2020 APP开发技术博客 All Rights Reserved.

访客数 : | 访问量 :