在Android的源码中添加LOG
来源:互联网 发布:淘宝企业店升级天猫 编辑:程序博客网 时间:2024/05/17 20:31
转自:http://blog.csdn.net/ccskyer/archive/2010/06/29/5702849.aspx
想在Opencore代码中添加打印信息,但是使用OpenCore自带的PVLOGGER,有一定的局限,因为只能在创建对象调用相应的ThreadLogon()后才能使用。所以不能实现在任何函数中添加。于是通过添加Log.h的方法来添加。
首先转下别人的经验(http://blog.163.com/binghaitao@126/blog/static/3383532520099309366435/)
我试了下还是出先undefined reference to `__android_log_write'错误
1:在编译so文件的c或cpp文件之前中加入以下代码,就可以在android中的log显示日志内容
#include <android/log.h>
#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)
我只是需要在skia库中的一个cpp文件里面添加log信息,所以只执行了第一步跟第二步,并没有出现编译错误。
如果是其他情况,可能就需要下面几步了。。。
- 在Android的源码中添加LOG
- 在Android的源码中添加LOG
- 在Android源码的JavaScriptCore引擎中添加LOG
- 在android中c c++代码中添加自定义的log
- Android开发过程中在sh,py,mk文件中添加log信息的方法
- Android开发过程中在sh,py,mk文件中添加log信息的方法
- 在Android源码2.3中添加自己的hello.apk
- 在Android源码中添加厂商的产品信息
- 在android jni中添加输出日志Log
- 在android源码中添加库模块
- 在android源码中添加库模块
- 在Android底层lib库源码中打印Log
- 在Android底层lib库源码中打印Log
- 在Android里添加自己的log函数
- 在Android里添加自己的log函数
- 在installshield 脚本中添加log的方法
- android的Log工具Log源码分析
- android NDK和源码中输出Log信息的方法
- sql 恢复
- Oracle亂碼解決
- iOS中使用RegexKitLite来试用正则表达式
- ASCII编码表
- sql连接语句中的Integrated Security=SSPI/ture/false
- 在Android的源码中添加LOG
- Oracle树结构查询
- Poj1385(求多边形的重心)利用叉积求面积
- ORACLE EBS 简称大全
- cons的作用
- 电脑中的数据输出和数据存储是怎么实现的
- 有关GDI操作
- 常用存儲過程SQL SERVER
- 将十进制手写转换为二进制的一个技巧.....