Android中使用logwrapper来重定向应用程序的标准输出


  在Android应用程序调试中,有时候第三方应用程序的日志输出是通过printf之类的标准函数输出的,logcat不能捕获这些日志,一个方法是使用logwrapper命令来执行第三方应用程序,logwrapper命令可以把第三方应用程序的标准输出重定向到logcat的日志系统中去(缺省级别为LOG_INFO,标签为应用程序名)。

  logwrapper的Usage如下:
  Usage: logwrapper [-a] [-d] [-k] BINARY [ARGS ...]

  Forks and executes BINARY ARGS, redirecting stdout and stderr to the Android logging system. Tag is set to BINARY, priority is always LOG_INFO.

  -a: Causes logwrapper to do abbreviated logging. This logs up to the first 4K and last 4K of the command being run, and logs the output when the command exits
  -d: Causes logwrapper to SIGSEGV when BINARY terminates fault address is set to the status of wait()
  -k: Causes logwrapper to log to the kernel log instead of the Android system log

 

  例如,在adb shell下

  root@android:/ ps

  ps的结果只在当前控制台下输出,要想把ps的结果输出到adb log中去,可以使用:

  root@android:/ logwrapper ps

  这样adb logcat就能捕获到ps的输出了

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM