缺少用于匹配Android调用状态的RILJ日志行

时间:2019-02-18 14:24:34

标签: android adb logcat ril

在adb logcat中使用RILJ输出监视我的android手机(三星Galaxy S6-8;操作系统:Android 6-8)的通话状态时有时会发生错误,我不知道这可能来自哪里。

我在做什么:

  1. 通过“ logcat -b main -v long”和“ logcat -b radio -v long”读取adb logcat oputput
  2. 使用正则表达式过滤器“
  3. 将每行映射到其状态:拨号,警报,活动,入站,保留,等待

结果:

这似乎很好用,这是A方和B方之间的通话的示例输出:

A-Party 02-18 14:57:00.796: D/RILJ(4544): [0899]> GET_CURRENT_CALLS [SUB0]
A-Party 02-18 14:57:00.804: D/RILJ(4544): [0899]< GET_CURRENT_CALLS {[id=1,DIALING,toa=129,norm,mo,0,voc,noevp,,cli=1,,1] } [SUB0]
B-Party 02-18 14:57:42.956: D/RILJ(4494): [1856]> GET_CURRENT_CALLS [SUB0]
B-Party 02-18 14:57:42.963: D/RILJ(4494): [1856]< GET_CURRENT_CALLS {[id=1,INCOMING,toa=145,norm,mt,0,voc,noevp,,cli=1,,1] } [SUB0]
A-Party 02-18 14:57:02.869: D/RILJ(4544): [0902]> GET_CURRENT_CALLS [SUB0]
A-Party 02-18 14:57:02.870: D/RILJ(4544): [0903]> GET_CURRENT_CALLS [SUB0]
A-Party 02-18 14:57:02.873: D/RILJ(4544): [0902]< GET_CURRENT_CALLS {[id=1,ALERTING,toa=129,norm,mo,0,voc,noevp,,cli=1,,1] } [SUB0]
A-Party 02-18 14:57:02.879: D/RILJ(4544): [0903]< GET_CURRENT_CALLS {[id=1,ALERTING,toa=129,norm,mo,0,voc,noevp,,cli=1,,1] } [SUB0]
A-Party 02-18 14:57:02.909: D/RILJ(4544): [0904]> GET_CURRENT_CALLS [SUB0]
A-Party 02-18 14:57:02.917: D/RILJ(4544): [0904]< GET_CURRENT_CALLS {[id=1,ALERTING,toa=129,norm,mo,0,voc,noevp,,cli=1,,1] } [SUB0]
B-Party 02-18 14:57:59.539: D/RILJ(4494): [1862]> GET_CURRENT_CALLS [SUB0]
A-Party 02-18 14:57:18.988: D/RILJ(4544): [0906]> GET_CURRENT_CALLS [SUB0]
B-Party 02-18 14:57:59.545: D/RILJ(4494): [1862]< GET_CURRENT_CALLS {[id=1,ACTIVE,toa=145,norm,mt,0,voc,noevp,,cli=1,,1] } [SUB0]
A-Party 02-18 14:57:18.999: D/RILJ(4544): [0906]< GET_CURRENT_CALLS {[id=1,ACTIVE,toa=129,norm,mo,0,voc,noevp,,cli=1,,1] } [SUB0]
B-Party 02-18 14:58:31.225: D/RILJ(4494): [1865]> GET_CURRENT_CALLS [SUB0]
B-Party 02-18 14:58:31.251: D/RILJ(4494): [1865]< GET_CURRENT_CALLS {} [SUB0]
A-Party 02-18 14:57:55.350: D/RILJ(4544): [0909]> GET_CURRENT_CALLS [SUB0]
A-Party 02-18 14:57:55.363: D/RILJ(4544): [0909]< GET_CURRENT_CALLS {} [SUB0]
A-Party 02-18 14:58:27.693: D/RILJ(4544): [0924]> GET_CURRENT_CALLS [SUB0]

问题:

对于某些处决,似乎缺少日志消息。

A-Party 02-18 14:57:18.999: D/RILJ(4544): [0906]< GET_CURRENT_CALLS {[id=1,ACTIVE,toa=129,norm,mo,0,voc,noevp,,cli=1,,1] } [SUB0]

丢失。因此,尽管我可以在电话屏幕上看到呼叫已接听且确实处于活动状态,但呼叫状态“ ACTIVE”尚未注册。

我正在尝试使它运行稳定一段时间,但是我没有真正的线索可能是什么问题。我已经想到过/尝试过以下方法,但不知道是否可能是此原因:

  1. 是RILJ遗漏了一条日志行的“错误”,还是100%可靠?
  2. 是否还有另一种更可靠的服务/可能性来跟踪呼叫状态?即使缺少RILJ日志,电话似乎也能正确知道状态,因此它必须从其他来源知道。
  3. 可能只是一些消息丢失而导致的adb logcat问题?

我走出了主意,如果有人能提供一些答案或其他提示来解决此问题并提供100%可靠的呼叫状态跟踪,我将非常感谢。

谢谢

编辑:

我几次看到cpu的使用率为100%,是否可能由于cpu的性能而导致adb日志“丢失”,或者我可以确定当使用率降低时,日志行可以完全接收吗?

0 个答案:

没有答案