失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > android开机后自动执行shell init.rc启动 shell脚本

android开机后自动执行shell init.rc启动 shell脚本

时间:2024-07-02 22:31:04

相关推荐

android开机后自动执行shell init.rc启动 shell脚本

[Android] 在開機的時候,執行你想要的 shell script

雖然 init.rc 很好用,但還是有其缺陷... 像是我要 echo 某些字串到檔案時,他就做不到了 :(

所以可以搭配一個 .sh 的檔案,讓他開機的時候去執行這個 .sh 即可。

建議修改方式:

[1] 在AndroidBoard.mk 裡面將你的 .sh 包起去

file :=

$(TARGET_OUT)/etc/my.sh

ALL_PREBUILT += $(file)

$(file) : $(LOCAL_PATH)/

my.sh| $(ACP)

$(transform-prebuilt-to-target)

[2] 在你想要加進去的 init.rc 中加入下面這段:

on boot

exec /system/bin/sh

/system/etc/my.sh

這樣子就可以嚕 ^^ 裡面用粗體紅字的就是要注意的地方囉

在应用程序启动之前,往往需要在Android启动过程中去对系统做一些设置,如修改某些文件夹的属主和文件的权限,本文实现在init.rc中调用shell脚本,而所有对系统资源的修改和配置都在此shell脚本中实现。

1、在system/core/rootdir/etc/init.djstava.sh脚本文件,以开机获取IP地址为例,脚本内容可如下

#! /system/bin/sh

ifconfig eth0 192.168.18.200 netmask 255.255.255.0 up

route add default gw 192.168.18.1 dev eth0

2、修改system/core/rootdir/Android.mk文件,增加语句

copy_from += etc/init.djstava.sh

3、修改device/$(硬件平台)/init.rc文件,增加语句

mount yaffs2 mtd@system /system ro remount

改为

mount yassf2 mtd@system /system rw remount

chmod 755 /system/etc/init.djstava.sh

chown root shell /system/etc/init.djstava.sh

service eth0_set /system/etc/init.djstava.sh

oneshot

4、设置dns,修改system/core/rootdir/init.rc,在setprop net.tcp.buffersize.gprs命令后增加如下语句

setprop net.dns1 211.167.97.67

setprop net.dns2 202.96.209.133

1、在system/core/rootdir/etc/下添加脚本文件,命名为myshell.sh,脚本内容可如下

#! /system/bin/sh

增加语句

copy_from += etc/myshell.sh

3、修改相应的init.rc文件,增加语句

将mount yaffs2 mtd@system /system ro remount 改为

mount yassf2 mtd@system /system rw remount

//以下的内容一定不要乱放,一定把它们放在跟它们类似的命令旁边,如service就放在最后。

chmod 755 /system/etc/myshell.sh

chown root shell /system/etc/myshell.sh

service myshell /system/etc/myshell.sh

oneshot

init脚本的关键字可以参考init进程的system/core/init/keyword.h文件。

init.rc的使用方法,可以参考说明文件system/core/init/readme.txt

参考:

Android pppd_gprs脚本启动过程

Android: 启动init.rc 中service的权限问题

如果觉得《android开机后自动执行shell init.rc启动 shell脚本》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。