Android新增一個開機完成後執行的指令碼
阿新 • • 發佈:2019-01-29
在調式一個模組驅動的時候載入驅動模組失敗,但是在系統起來後可以手動載入成功,因此想到在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檔案中,不然編譯不過。