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)
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
2、修改system/core/rootdir/Android.mk檔案,增加語句 copy_from += etc/init.djstava.sh3、修改device/$(硬體平臺)/init.rc檔案,增加語句 將mount yaffs2 [email protected] /system ro remount 改為 mount yassf2 [email protected] /system rw remount
chmod 755 /system/etc/init.djstava.shchown root shell /system/etc/init.djstava.shservice eth0_set /system/etc/init.djstava.shoneshot4、設定dns,修改system/core/rootdir/init.rc,在setprop net.tcp.buffersize.gprs命令後增加如下語句 setprop net.dns1 211.167.97.67setprop net.dns2 202.96.209.133
1、在system/core/rootdir/etc/下新增指令碼檔案,命名為myshell.sh,指令碼內容可如下
#! /system/bin/sh
2、修改system/core/rootdir/Android.mk檔案,增加語句
copy_from += etc/myshell.sh
3、修改相應的init.rc檔案,增加語句
將mount yaffs2 [email protected] /system ro remount 改為
mount yassf2 [email protected] /system rw remount
//以下的內容一定不要亂放,一定把它們放在跟它們類似的命令旁邊,如service就放在最後。
chmod 755 /system/etc/myshell.shchown 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指令碼啟動過程
相關推薦
init.rc啟動 shell指令碼
[Android] 在開機的時候,執行你想要的 shell script 雖然 init.rc 很好用,但還是有其缺陷... 像是我要 echo 某些字串到檔案時,他就做不到了 :( 所以可以搭配一個 .sh 的檔案,讓他開機的時候去執行這個 .sh 即可。 建議修改
Android 7.0 init.rc 執行shell指令碼 ---- 製作一初始化配置檔案
最近在一個Android 7.0 PDA專案中遇到如下需求:初始化一配置檔案,此配置檔案需要儲存到data分割槽供系統服務和第三方應用進行讀寫操作,另外此配置檔案在系統重啟後保持檔案內容不變,除非恢復出廠才可以恢復成預設配置引數 。因為初始化的配置引數為了方便其它同事修改
在android init.xxx.rc中啟動shell指令碼
on boot # start essential services start shell-setup service shell-setup /system/etc/init.shell.sh user root group root o
Android在init.rc中加入指令碼開機安裝APK並啟動APK的服務
要求:開機檢查APK是否安裝,如果不安裝則自動靜默安裝,同時啟動APK的服務。 把要安裝的APK放在device資料夾下,編譯時用指令碼拷貝到out目錄下,開機啟動指令碼安裝APK並啟動服務。 這裡以Airplay.apk為例。 1.在device目錄下建立資料夾Ai
linux編寫自啟動shell指令碼
1.需求分析 在很多情況下,程式設計師都做著重複枯燥的工作,雖然這些工作也是必須的,其實這些重複性的工作可以執行指令碼替代;今天筆者就如何編寫自啟動shell指令碼減少程式設計師開啟伺服器後的環境開啟工作; 2.配置環境 linux版本:centos-6.3
redis-cluster 啟動shell指令碼
下面是自己寫的一個redis叢集啟動指令碼,就是先殺掉原來的程序,然後開起來,主要是方便自己在虛擬機器上除錯。正常生產環境肯定不會像自己的虛擬機器那樣每天早上開晚上關,一般應該都是開著的,都會使用哨
linux環境java應用通用啟動shell指令碼
對於java應用部署在linux環境分兩種情況,一為war包,應用入口為編譯後的classes檔案下的本身應用入口,其啟動指令碼可參考不錯的linux下通用的java程式啟動指令碼這篇部落格。 一為jar包形式 這種便於打包增量升級,關注於改動的jar即可
ubuntu 開機啟動shell指令碼
1.建立shell啟動指令碼test2.將啟動指令碼複製到 /etc/init.d 目錄下3.設定指令碼檔案許可權sudo chmod 755 /etc/init.d/test4.設定指令碼啟動sudo update-rc.d test defaults 95 //95
Android init.rc啟動服務
轉載 http://m.it610.com/article/5082334.htm 在“上一篇android init.rc檔案語法詳解”,但是到了android5.0之後,按照上面的方法做,可能我們要啟動的服務就起不來了。這是因為採用了新的安全機制了——SEAndr
android開機啟動shell指令碼
1、system/core/rootdir/init.rc service start_test /system/bin/test.sh user root group roo
解壓RK3288的boot.img修改init.rc 新增開機自啟動指令碼
最近找別人開發一款智慧AI機器人,由於方案廠商現在程式碼還沒有交付。每次只提供ROM。現在公司要求要開機啟動系統檢測指令碼。我們都知道Android現在許可權管理很嚴格。而且我的指令碼是用shell指令碼完成的。所以無法監聽開機廣播。只能修改init.rc檔案。
RK3128系統&驅動開發分享——(四)init.rc及開機啟動指令碼
1、android啟動程式碼/system/core/init/init.c 該啟動程式碼讀取並解析init.rc指令碼程式碼如下: init_parse_config_file("/init.rc"); 然後通過action_for_each_trigger觸發響應的動作
[Android6.0]App中呼叫init.rc中的服務,從而執行shell指令碼
Author: Younix Platform: RK3399 OS: Android 6.0 Kernel: 4.4 Version: v2017.07 需求:希望在 Android App 中新增 SPDIF 測試功能。對 Android
[init.rc] android開機過程執行shell指令碼
1、在system/core/rootdir/etc/下新增指令碼檔案,命名為myshell.sh,指令碼內容可如下 #! /system/bin/sh 2、修改system/core/rootdir/Android.mk檔案,增加語句 co
init.rc文件中面啟動c++程序,通過jni調用java實現
mini val sni ril urn runtime sport mco env </pre><p>註:假設是自己的myself.jar包,還要修改例如以下:</p><p>target/product/core_bas
shell 指令碼批量啟動docker內部應用
起因; 內網機房斷電,執行在虛擬機器之上的docker 應用還得手動觸發重啟,實在太費勁,針對此應用場景進行shell 指令碼編寫; #/bin/bash #author lijx #用於docker 斷電啟動,Docker 內程式應用指令碼 function&
SpringBoot2.x應用啟動、關閉shell指令碼
本篇主要說明以下內容: 1.SpringBoot2.x應用啟動、關閉的shell指令碼 1 啟動指令碼 直接放到同jar包同一個目錄下,如下: #!/usr/bin/env bash APPLICATION_NAME='spblearn' CURRENT_PATH=`pwd` PID=""
寫一個shell指令碼啟動伺服器
使用shell指令碼寫一個一鍵啟動伺服器 ####由於我們伺服器使用的docker, nginx和 redis 還有mysql都是docker啟動好的 我們專案使用supervisor程序管理工具,需要提前配置,但是不知道什麼原因,以前的環境配置出了問題,supervisor不
Android如何配置init.rc中的開機啟動程序(service)
轉載。 http://blog.csdn.net/qq_28899635/article/details/56289063 開篇:為什麼寫這篇文章 先說下我自己的情況,我是個普通的學生,之前在學校一直做Android應用開發,找實習的時候也一直想找相關的工作,來到現在這家公司以
編寫shell指令碼一鍵啟動zookeeper叢集!!
踩了一個多小時坑終於解決了: 這裡分享給大家,更主要的目的是記住這些坑,避免以後重複走!!! 首先,這裡採用ssh祕鑰方式進行叢集主機之間免密登入執行啟動命令 這裡簡單說下原理: 通過ssh去另外一臺機器執行命令,直接執行還不行,因為需要環境變數,而ssh登入之後不在同一個程序裡面,所以環境變數不