recovery log直接输出到串口

   我们在调试recovery升级的时候,我们经常需要查看recoveryloggoogle的原始逻辑中,recoverylog并非直接输出到串口,我们需要输入命令才能获取,我们有三种方式:

 

    第一种:recovery下,遥控器选择view recovery logs,界面上查看。

    第二种:recovery下,输入命令,cat /tmp/recovery.log

    第三种:android下,输入命令,cat  /cache/recovery/last_log

 

    有时候我们需要把recoverylog直接输出到终端串口,则我们需要修改下recovery的代码即可,下面以android L5.1)版本的代码修改说明下:

bootable/recovery/recovery.cpp

[cpp]  view plain  copy
  1. static const char *TEMPORARY_LOG_FILE = "/tmp/recovery.log";  
  2. static void redirect_stdio(const char* filename) {  
  3.     // If these fail, there's not really anywhere to complain...  
  4.     freopen(filename, "a", stdout); setbuf(stdout, NULL);  
  5.     freopen(filename, "a", stderr); setbuf(stderr, NULL);  
  6. }  
  7.    
  8. Int main(int argc, char **argv) {  
  9.     time_t start = time(NULL);  
[cpp]  view plain  copy
  1. <strong> </strong><span style="font-family:Arial, Helvetica, sans-serif;"><span style="color:rgb(204,0,0);"><strong>redirect_stdio</strong></span>(TEMPORARY_LOG_FILE);</span>  
}
 

 

我们只需要把redirect_stdio函数的参数,有”/tmp/recovery.log”修改为”/dev/console”即可。redirect_stdio(”/dev/console”);
不同的平台可能有所不一样,可以先这样验证,echo “111111111” > /dev/console,检验下是否能够把打印正常输出到串口。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值