设为首页 加入收藏

TOP

在Android的源码中添加LOG
2014-11-24 08:37:06 来源: 作者: 【 】 浏览:0
Tags:Android 源码 添加 LOG

想在Opencore代码中添加打印信息,但是使用OpenCore自带的PVLOGGER,有一定的局限,因为只能在创建对象调用相应的ThreadLogon()后才能使用。所以不能实现在任何函数中添加。于是通过添加Log.h的方法来添加。


首先转下别人的经验


1:在编译so文件的c或cpp文件之前中加入以下代码,就可以在android中的log显示日志内容
#include


#define LOG_TAG "show infomation"


#define LOGW(a ) __android_log_write(ANDROID_LOG_WARN,LOG_TAG,a)


2:就可以在c或cpp中加入LOWG(str) 就可以在android中的log中显示打印的内容


3.这样写完以后,如果直接编译,就会报 __android_log_write 方法undefined.


怎么回事呢?关键是在设置编译选项上面。


在Android.mk文件里,可以指定一个LOCAL_LDLIBS的参数。如果不指定,那么编译的时候,只会引入默认的几个重要的lib,比如libc之类的。


如果要用log,那就要把 liblog给引进来。


网上很多的写法是 LOCAL_LDLIBS := -llog ,这在build static lib的时候没什么问题。如果是build shared lib,就会报个 cannot find -llog的错误。意思是找不到liblog.so这个库文件。


因此需要改成 LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog 才可以正常编译。


其中-L参数是指定了搜索lib的路径。


下面是一个android.mk的内容的例子:


LOCAL_PATH := $(call my-dir)


include $(CLEAR_VARS)


LOCAL_MODULE := TestNdkNetwork


LOCAL_SRC_FILES := HttpConnection.cpp


LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog(llog 是哪个库?是不是打错了?是liblog)


include $(BUILD_SHARED_LIBRARY)


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Java -verbose命令 下一篇Linux 不报警的Hello World

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·怎样用 Python 写一 (2025-12-27 02:49:19)
·如何学习python数据 (2025-12-27 02:49:16)
·想要自学数据分析, (2025-12-27 02:49:14)
·Java 集合框架 - 菜 (2025-12-27 02:19:36)
·Java集合框架最全详 (2025-12-27 02:19:33)