调试蓝牙驱动中,作为hci_qcomm_init由调用后,主文件bthci_qcomm_linux.cpp不能输出其中的printf语句,换为LOGE后可以输出。
分析可能:
Printf属于linux应用的打印机制,在androd系统当中没有对应的输出机制,只有在终端下执行时才能回显出来。
LOGE属于android专门定义的机制Android logger,专门打印除kernel外的所有应用的log输出。
  
据说:
Android提供了一个小工具,叫做logwrapper,用来处理上面提到的情况,使用方法就是将可执行文件的路径作为logwrapper的参数,比如你可以在init.rc中这样写:
service adbd /system/bin/logwrapper/sbin/adbd
  disabled
验证了不好使啊,/system/bin/hci_qcomm_init 
还是得找时间好好研究下logwrapper和logger代码,看看android如何封装的
注意:
使用时andorid.mk中需要加入
LOCAL_SHARED_LIBRARIES += \libcutils libutils
LOCAL_LDLIBS += -llog
  
*.c文件中需要引用
#include "utils/Log.h"

更多相关文章

  1. Handler消息机制深入学习
  2. Android(安卓)-- IPC通信机制之一Binder简介
  3. 【Android】消息机制应用
  4. Android自定义控件系列九:从源码看Android触摸事件分发机制
  5. Android(安卓)AccessibilityService机制源码解析
  6. Android学习感悟之消息机制
  7. Android(安卓)BLE最完整的工具类(扫描/连接/读写/通知设备)
  8. Android(安卓)BLE开发的各种坑
  9. Android性能测试之流畅度测试

随机推荐

  1. 什么是链表?链表与数组的区别?
  2. 详解一篇搭建快速开发平台的实例步骤
  3. C#中在构造函数中访问虚成员有什么问题?
  4. Unity C# GetSaveFileName()的实例详解
  5. 什么是AspectCore Project ?
  6. 详解.net正则表达式怎么使用?
  7. 使用 VSCode 编写 .NET Core 项目的实例
  8. 实现GridView自动滚动的功能
  9. RabbitMQ基本概念和原理实例
  10. 介绍一个微软开源项目网站--CodePlex