c++生成so调用LOGI

来源:互联网 发布:unity3d xlua编程 编辑:程序博客网 时间:2024/05/21 10:12

    前一阵为android程序写了一些c++生成的so文件,但是单文件没法单步调试,导致调用时出现问题后不好定位代码,于是想到在C++程序的关键点打LOGI标记,刚开始遇到些问题,后来终于解决了,现在把解决方法记录下来,方便自己,也方便别人。

    首先,在C++或c的开始定义宏,如下:

// 定义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.mk文件,这个修改要注意下,是有顺序要求的,这些语句顺序变了,就不成功了,具体为什么,这个没有继续研究。还有是否有其他的正确顺序,也没有多尝试,下面列出的mk文件,在我调用LOGI的时候是匹配的。如下:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := jni_JNIClass
LOCAL_SRC_FILES := jni_JNIClass.cpp

LOCAL_LDLIBS    := -lm -llog
LOCAL_SHARED_LIBRARIES := liblog libcutils
include $(BUILD_SHARED_LIBRARY)


时间太久,忘了application.mk是否要修改,一并贴出

APP_ABI := armeabi armeabi-v7a x86
APP_STL := stlport_static

0 0
原创粉丝点击