1.问题场景:
高通某项目发现无法使用拨号程序,而且插入sim卡无反应,不识别卡,和modem同事确认modem部分是没有问题的,那问题应该出现在系统这边。另外发现输入*#*#xxx#*#*等暗码会直接crash,提示:telephony service unavailable。
2.问题分析:
看了crash的log,查看了对应的调用栈,但是依旧一无所获,不知道为什么会发生telephonyservice unavailable,怀疑是该service被杀了?但是一般来说这种重要的service不应该被杀才对。然后又抓了个开机log,都没有发现telephony service有起来,这就奇怪了。后面又了解了下相关信息,发现我们同一个主版本和配置出来的其他项目没有问题(该项目是通过perso配置出来的),那就很大可能是perso配置哪个地方的问题了。
接下来,拿到正常的版本和有问题的版本对比了下,发现问题版本的system/priv-app/下面缺少了TeleService,而这个也就是上面所说的telephony service,那问题基本找到了,系统中这个apk都不存在,那这个service肯定起不来了。再次去perso配置端查看,发现确实是把com.android.phone应用删掉了,这个也就是对应我们的TeleService。问题原因找到,属于误删了核心应用,重新配置版本后OK。