项目中很多情况下,会跟第三方合作,很多情况下需要将第三方提供的服务加入系统启动中,及在init.rc中添加服务。
系统在启动的时候,会对init.rc这个文件进行解析,并且按照一定的级别启动服务。这些服务是在system/core/init.c里面启动的。
现在项目中加入了一个蓝牙的服务,加入后导致WIFI无法使用。WIFI和蓝牙属于合一芯片,如果不加蓝牙服务,没有问题,
分析机器LOG发现如下问题:
蓝牙服务5S的时候就启动了,但是WIFI服务在15s的时候提示上电失败。
好像属于服务启动时序问题,所以想法就是让蓝牙服务开机后启动,让系统的WIFI服务先启动。
在init.rc中调整时序:
service test /system/bin/test
class main
user root
group root
disabled
#on property:sys.boot_completed=1
on property:sys.boot.init=1
start test