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

首先转下别人的经验

我试了下还是出先undefined reference to `__Android_log_write'错误

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)

Linux 编译 libc log,在Android的源码中添加LOG相关推荐

  1. android系统源码中添加app源码(源码部署移植)

    涉及到系统定制,需要在系统中加入自己的apk工程,但是上网找了很多资料都是不够全面的,或者看了还是没搞懂,我自己也是一点点摸索过来的,花了不少的时间,也是踩了不少的坑,因此特开一文,帮助大家渡河. 申 ...

  2. 在 Android 系统源码中自定义系统服务(Custom System Service in AOSP)

    该原创文章首发于微信公众号:字节流动 在 Android 系统源码中自定义系统服务(Custom System Service in AOSP) 配置编译环境(Initial AOSP build e ...

  3. 【内核驱动】 在内核源码中添加第一个驱动程序

    开发环境: Redhat6.5 开发板: Tiny4412 (ARM Cortex A9) 1.  在内核源码中创建自己的目录 2. 在对应的目录中创建源文件和Makefile文件   3. 对应文件 ...

  4. 【驱动】在内核源码中添加驱动程序

    以wifi驱动(RTL8188EUS驱动)为例 添加源码 将源码rtl8188EUS添加到drivers/net/wireless/rtl818x/目录下 添加Kconfig 在drivers/net ...

  5. vlc-qt编译 linux,记录一次搞vlc官方源码中Qt示例工程的过程,文件路径对话框

    代码目录:E:\vlc-3.0.12\doc\libvlc\QtPlayer 编译成立,但是 libvlc_new返回NULL 老子就是要搞他,在网上的其他人成功的代码帮助下要把他搞成 (背景是:老板 ...

  6. Android源码中添加 修改应用

    第一部分:添加一个新的应用 1. 在和系统相同版本的SDK目录下开发自己的android应用 2. 把开发的android工程放到源码的packages/apps/目录下 3. 在工程目录下添加And ...

  7. 在vue2使用百度脑图的kityminder-core进行二次开发思维导图,在源码中添加新的命令

    需求说明:最近在搞kityminder-core的思维导图,需要增加一个给节点添加文件的功能,一直在研究源码,发现都是通过执行命令的方式实现的.一直卡在新增命令的步骤,搞了好多天了今天找到了如何在源码 ...

  8. Android源码中添加一个PTT的按键

    一.前提(驱动工程师添加) 我这里主要介绍的是在Android上层去做键值按键的添加,所以我们首先就得需要驱动在底层配置好PTT按键的键值.提供到上层接口,供我们上层开发调用! 1.device/me ...

  9. oschina android版源码中的颜色值

    <?xml version="1.0" encoding="utf-8"?> <resources><color name=&qu ...

最新文章

  1. Win2000域控制器+Exchange2000迁移至Win2003域控制器+Exchange2003
  2. 中国发电机行业应用前景与投资策略分析报告2022版
  3. kafka 名词解释及原理解析过程(三)
  4. linux指令快速复制粘贴[龟速更新中]
  5. C# Thread开启线程几种方式
  6. 牛客练习赛50 F tokitsukaze and Another Protoss and Zerg
  7. rest端点_REST:使用Controller端点?
  8. poj 题目分类(3)
  9. php声波模拟开门,关于 php使用扩展控制树莓派io 驱动超声波测距
  10. Java基础——虚拟机结构
  11. 计算机网络与综合布线系统设计,计算机网络与通信技术10-综合布线系统.ppt
  12. 作者:​冯景华(1984-),男,国家超级计算天津中心主任助理、系统管理部部长。...
  13. 插入排序:直接插入排序希尔排序
  14. 信道模型多径传播阴影衰落——无线接入与定位(2)
  15. iOS常用手势识别器
  16. Python入门-散点图绘制
  17. 如何处理好与孩子沟通的关系?
  18. mupdf嵌入 html页面,MuPDF Command Line Tools
  19. Javascript 权威指南第五版 手记(2) 变量的作用域
  20. while循环python次数定义_Python学习笔记之While循环用法分析

热门文章

  1. 【C++深度剖析教程11】C++学习之编写代码实现复数类
  2. Vue 之 slot(插槽)
  3. Leetcode143. Reorder List重排链表
  4. MySQL数据导入导出(一)
  5. Cocos2dx 3.11版本 视频添加跳过按钮
  6. 泛型实现List(ListT)排序
  7. 引用到网站绝对路径Server.MapPath(~/myfile.mdb)
  8. 376 Wiggle Subsequence 贪心解法以及证明
  9. 深度学习第三次课-梯度下降与反向传播
  10. 计算机论文搜索技巧【一】