Android中printf和LOGE区别

 

调试蓝牙驱动中,作为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"



你可能感兴趣的:(android,linux,service,工具,终端)