冗余服务的去除
我们以马达服务为例,其他服务可参考去除相应的服务。
有时候,某个产品的开发初期,可能会直接将其它成熟产品的基线移植过来,里边可能会有多个马达服务进程,但是我们只需要其中一个,这时候就需要去除冗余的马达服务了。
有时候,某个产品需要对android系统进行升级,可能原本有多个马达服务,我们disable掉了它,但是在升级之后disable失效,造成多个马达服务进程抢占,可能引发一系列问题,比如:开机init阶段start service启动了并不需要的一个马达服务,而需要的马达服务却没有起来,这时候不适配的马达服务可能会自己关闭,然后system对它又再次调起,服务又再次关了,system又调起,如此反复,马达无法工作的同时,造成了系统资源的浪费(该服务反复重启时一直申请空间),这时候我们需要去除冗余的马达服务,也让真正需要工作的马达服务进程可以起来。
android 11及以下
prebuilt/qcom/odm/bengal/projectname/syscfg/etc/init/init.odm.rc
service vibrator-1-0 /vendor/bin/hw/vendor.hardware.vibrator@1.0-service
class hal
user system
group system readproc
disabled
添加disable来禁用该服务即可
android 12及以上
android 12及以上的版本,disable不生效,需要使用override来忽略服务,参考如下:
prebuilt/qcom/odm/bengal/projectname/syscfg/etc/init/init.odm.rc
service vibrator-1-0 /vendor/bin/hw/vendor.hardware.vibrator@1.0-service
override
class hal
user system
group system readproc
disabled