1. 程式人生 > >Android新增一個開機完成後執行的指令碼

Android新增一個開機完成後執行的指令碼

      在調式一個模組驅動的時候載入驅動模組失敗,但是在系統起來後可以手動載入成功,因此想到在android  啟動完成後通過

執行指令碼來載入驅動模組
 1.編寫相關的指令碼,比如device/softwinner/common/prebuild/tools 在該目錄下面, 新建一個指令碼檔案insmod.sh,在產品.mk檔案裡面
  將該指令碼拷貝到system/bin/目錄下面 ,。
: 可以手動執行指令碼,確認指令碼無誤之後加入到系統裡面編譯
2.在init.rc中建立該服務
編寫自己要執行的服務,比如: service insmod /system/bin/inmod.sh     user root     group root     disabled

3.
在init.rc中啟動該服務

on property:sys.boot_completed=1         start insmod

4.在device.mk中修改

將該指令碼從編譯路徑下拷貝到生成系統檔案的指定路徑下
以上四步完成後,就會在系統啟動後去自動執行該服務了,這樣就達到了用root許可權去執行我們要執行的命令的目的了。 當然,還可以在系統中根據我們的需求用系統啟動服務的方式去啟動,執行程式碼為: SystemService.start("service_xxx"); 不過這時候要將import android.os.SystemService;引入到對應的java檔案中,不然編譯不過。