②修改boot.img
rom中是不可能直接看到init.rc这个文件的,因为它在boot.img中,如何解包打包boot.img呢?
答案是,用厨房吧......
打开厨房后,你会发现它本身就有为rom添加init.d支持的功能,当然你可以直接选择,然后一切自动完成,随后打包rom就OK了
如果想给自己进阶一下,研究到底如何手动添加这个功能,就接着看吧
第一步,解包boot.img,选择0进入高级 *** 作菜单后,
接下来选择20,再选择w,
提示解包结束后,进入BOOT_Extract/boot.img-ramdisk下,找到init.rc,接下来就是修改它了
修改方法
1、在init.rc的class_start区域中加入(搜索class_start default,在下面之前加入;如果没有这段,搜索class_start,在前面加入,注意是另起一行)
start sysinit
复制代码
2、在最下面(service区域中)加入(直接添加到末尾就行了)
service sysinit /system/bin/logwrapper /system/xbin/busybox run-parts /system/etc/init.d
disabled
oneshot
复制代码
保存后(这个过程中厨房不要关闭了,虽然关闭也没有事,但是一直开着方便 *** 作),用厨房选择b,回车,等待,搞定,从工作文件夹提出boot.img,线刷或者卡刷boot.img就行了
解包boot.img也可以不用厨房,不过很麻烦,这里就不说了。
同样的需要BUSYBOX的支持!就是你看ROM的SYSTEM/BIN 或者SBIN里面有没有 run-parts 这个文件
有的话就支持!没有的话自己找一个支持INIT.D的替换进去就可以了!
你可以通过创建开机启动脚本来实现,具体步骤如下:1. 在安卓设备上打开文件管理器,找到/etc/init.d目录,如果没有这个目录,可以创建一个。
2. 在/etc/init.d目录下创建一个新的脚本文件,例如adb_boot.sh,并添加以下内容:
#!/system/bin/sh
/system/bin/adb start-server
3. 保存脚本文件,并给它设置可执行权限:
chmod 755 /etc/init.d/adb_boot.sh
4. 将脚本文件链接到系统启动目录:
ln -s /etc/init.d/adb_boot.sh /system/etc/rc.d/S99adb_boot
5. 重启设备,adb服务将在开机启动时自动启动。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)