zl程序教程

您现在的位置是:首页 >  其他

当前栏目

init.rc文件中执行shell命令

2023-09-14 09:04:17 时间

例如:
有产品需求需要在工厂菜单里面添加M5芯片的升级,方便以后的调试。

1、在工厂apk里面,M5需要升级的时候,去setprop dev.skym5update.enable=1 去启动sky_M5_update service来执行sky_m5_update.sh

2、脚本执行完成后重置setprop dev.skym5update.enable=0来停止sky_M5_update service

3、sky_M5_update service在开机的时候不需要去执行,把参数disabled加上即可。

#for V620 M5 update
service sky_M5_update /system/bin/sky_m5_update.sh
class main
user root
group root
disabled

on property:dev.skym5update.enable=1
start sky_M5_update
on property:dev.skym5update.enable=0
stop sky_M5_update

init.rc的修改
init.rc不能直接通过adb命令修改,我是直接修改了系统源码的/system/core/rootdir/init.rc文件,重新编译成rom后烧写到设备上(网上也有解包boot.img后,修改init.rc并重新打包烧写到设备上的方法,不过我并没有尝试)。对AIL的语法有了解之后,应该就能看懂下面的配置了

#触发器,当系统属性dev.bootcomplete=1即启动完成时触发
on property:dev.bootcomplete=1
start bootcomplete

#以root身份执行