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脚本相关推荐
- Android init.rc启动shell脚本
init.rc启动shell脚本 0. 前言 1. 编写脚本 test.sh 2. 修改 .mk 配置文件,将创建的 test.sh 编译到系统分区 3. 配置 SELinux 权限 3.1 创建 t ...
- Linux开机后自动执行命令或脚本
文章目录 说明 应用场景 涉及文件 步骤 1.添加开机执行指令 2.编写脚本 3.测试效果 自动化编辑工具 脚本 效果 已存在的脚本 不存在的脚本 说明 应用场景 应用场景:开机后自动执行命令或脚本 ...
- 开机后自动执行bat文件中的python程序,自动登录软件进行功能配置
文章目录 1.bat文件 2.使用pyautogui进行自动点击 1.bat文件 bat文件的作用是可以和cmd命令行一样自动执行,将其放置到开机自启动文件夹中,便可以实现开机后的自动执行. 开机自启 ...
- linux用户开机.bashrc,验证linux shell在启动时会自动执行用户主目录下的.bashrc脚本...
在本文中, 我们来一起验证linux shell在启动时会自动执行用户主目录下的.bashrc脚本(注意是.bashrc而不是bashrc). 如果你的主目录下没有.bashrc, 那也不要担心,自己 ...
- 一个可以开机后自动和你打招呼的小程序(希望以后可以成为智能的系统)
这是一个可以开机后自动和你打招呼的小程序,至于你的名字在配置文件中.这里主要是应用了微软的speech技术来播放声音.所以如果你有其他的需求可以自己扩展.这里我只是写了很少的一部分功能,以后有新的想法 ...
- 解决荣耀8 手机数据连接卡设置开机后自动还原问题。
症状 卡2为主卡,卡1为上网数据连接专用卡,设置完毕之后重启发现数据连接被更改为卡2了. 有多严重? 造成我得卡2多次欠费,卡2 是3g卡,不能上网,但是是用来接电话的永久卡,如果把主卡设置为卡1,那 ...
- JS,两种在页面加载完成后自动执行的方法(ready,onload)
JS,两种在页面加载完成后自动执行的方法 1.jQuery的ready事件,需要引入jQuery的包才能使用,表示文档结构已经加载完成(不包含图片等非文字媒体文件): ready可以多次调用,可以绑定 ...
- Win10休眠模式设置:开机后自动恢复工作界面,防止程序员虐待电脑
Win10休眠模式设置:开机后自动恢复工作界面,防止程序员虐待电脑 这个功能叫做休眠,与睡眠不同,休眠会在电脑关机之后,将当前工作环境保存为文件,然后在开机之后自动恢复.这个功能对不爱关机的程序员非常 ...
- 电脑桌面计算机总是自动打开,电脑开机后自动打开很多软件怎么办
1. 电脑一开机自动启动好多小程序,如何取消掉 电脑一开机自动启动好多小程序,取消方法如下: 1打开开始菜单,在搜索框输入msconfig ,按回车键, 2在启动栏把不需要启动的程序打勾去掉,点击确定 ...
最新文章
- Java的浅拷贝与深拷贝总结
- php解析html类库simple_html_dom
- 通过钉钉群聊机器人推送zabbix告警
- linux常用命令总结
- python填充_python 实现矩阵填充0的例子
- ios wifi 定位_iOS 中的三种定位方式
- 思维方式是看待事物的角度、方式和方法,它对人的言行起到决定性作用
- 股票历史数据-股票历史行情数据下载
- 【区块链开发入门】(四) Truffle详解篇1
- cashfiesta网上赚钱
- ISTQB认证考试攻略大全(2018版)
- 石头科技的“现实”和“远方”
- android 三级级联筛选列表,写给程序员的Flutter详细教程
- GIS应用技巧之缓冲区分析
- scrapy爬取豆瓣电影列表
- SpringBoot整合chatGPT
- 解决树莓4B motion 卡顿
- 全球及中国风力发电行业运维模式及十四五投资策略研究报告2021-2027年
- Secure CRT自动连接打印机打印乱码问题
- vueuse(函数库)的基本使用,宝藏神器,务必收藏
热门文章
- perl 哈希数组的哈希_使用哈希检查两个数组是否相似
- html导航栏点击不能跳转,无法单击导航栏中的链接CSS HTML
- crontab 日志_liunx 中定时清理过期日志文件
- 为什么wait和notify必须放在synchronized中?
- NTFS USN的Create和工具代码汇总
- python-视频分帧多帧合成视频
- 怎么修改RO服务器版本,谁知道build.prop的系统版本号怎么改
- 低秩矩阵分解 matlab,低秩分解的matlab代码看不懂,分解的两个矩阵在哪呀??...
- 在线服务器和客户端聊天,实验三、客户端和服务器能实现简单的聊天功能
- for循环c语言流水灯,巧用数组与for循环为流水灯程序瘦身