问题
在开发过程中发现一个问题,我们需要在开机的时候判断硬件版本号去启动服务,
服务的名字是ledservice和ledservice4,但是发现每次烧录完固件后,服务启动不
成功,需要再复位重启一次,服务才可以正常启动。
日志如下
[ 5.328699] init: Service 'logd-reinit' (pid 257) exited with status 0
[ 5.329681] init: Starting service 'ledservice'...
[ 5.331442] init: Starting service 'exec 2 (/system/bin/vdc)'...
[ 5.353605] init: Service 'exec 2 (/system/bin/vdc)' (pid 269) exited with status 0
[ 5.355534] init: Service 'ledservice' is being killed...
[ 5.364499] init: Service 'ledservice' (pid 268) killed by signal 9
[ 5.364531] init: Service 'ledservice' (pid 268) killing any children in process group
[ 5.365442] init: Not bootcharting.
分析
1、我们自己刚开始修改的代码如下
service ledservice /system/bin/ledservice
class main
console
disabled
onrestart
service ledservice4 /system/bin/ledservice4
class main
console
disabled
onrestart
on property:ro.boot.wzb210_audio_hw_rev=3
start ledservice
on property:ro.boot.wzb210_audio_hw_rev=4
start ledservice4
on property:ro.boot.wzb210_audio_hw_rev=5
start ledservice4
第一次实验
刚开始一直担心是因为我们服务本身有问题,所以在我们的两个服务里面不做任何操作,直接打一个Log