android ndk开发之Log日志(二)

之前的代码里面tag是默认的文件名, log等级也要在头文件里面修改,感觉好烦,后面发现了一种更加好玩一点的解决方案,基于之前的那篇《android ndk开发之Log日志(一)》 ,我们在需要引用log的模块,android.mk进行修改

 例:

     

LOCAL_PATH := $(MY_ROOT_PATH)

include $(CLEAR_VARS)

 

LOCAL_MODULE    := demo

 .................

# Define the log tag

MY_LOG_TAG := "demo"

# Define the default logging level based build type

ifeq ($(APP_OPTIM),release)

  MY_LOG_LEVEL := MY_LOG_LEVEL_ERROR

else

  MY_LOG_LEVEL := MY_LOG_LEVEL_VERBOSE

endif

# Appending the compiler flags

LOCAL_CFLAGS += -DMY_LOG_TAG=$(MY_LOG_TAG)

LOCAL_CFLAGS += -DMY_LOG_LEVEL=$(MY_LOG_LEVEL)

# Dynamically linking with the log library

 

LOCAL_LDLIBS += -L$(SYSROOT)/usr/lib -llog -landroid

...

小剧场:

当时我写的时候出现了一个问题, demo这个符号在当前的模块没有定义!!!, 原来宏替换的时候直接替换成了demo,我们的tag是char*类型, 所以改成"demo"就好了, 同时注意LOCAL_CFLAGS那段的写法, LOCAL_CFLAGS += -DTAG=aaaa, 这句话等价于在模块中#define TAG aaaa

 

注意:

APP_OPTIM默认值是release, 我们可以在application.mk中修改这个变量,比如想改成debug, 可以在application.mk中写 APP_OPTIM:=DEBUG

好啦, 这么写是不是感觉更高大上了一点呢(>.<)

 

原文地址:https://www.cnblogs.com/zhangyan-2015/p/5647916.html