1. 程式人生 > >imx6 android開機啟動守護程序

imx6 android開機啟動守護程序

由於專案中需用到自己的編寫的兩個底層命令列程式,並且讓系統開機就自啟動這兩個程式。

我把這兩個程式寫成了守護程序。並自一個shell指令碼中執行啟動這兩個程式的命令,這樣,我設定adroid開機啟動的時候就只有啟動這個指令碼就行了。

做好以上兩點,接下來就是新增相應的拷貝動作了。這個動作需要自己新增的嗎?當然,大部分情況下Android在編譯的時候是不會自動新增你新增的檔案的。

device/fsl/sabresd_6dq/BoardConfig.mk檔案中,

我們需要做的,就是將以下內容新增到上述檔案合適的位置:

PRODUCT_COPY_FILES += \

      device/fsl/sabresd_6dq/start_syAudio.sh:system/etc/start_syAudio.sh
“:”前面是檔案源路徑,後面的是目的路徑。

這樣,Android在執行編譯的時候就會把新增檔案拷貝至相應的目標路徑去了,拷貝動作已經實現.

接下來新增啟動動作:

device/fsl/sabresd_6dq/init.rc檔案末尾處加入以下內容

chown root shell /system/etc/start_syAudio.sh
chmod 0550 /system/etc/start_syAudio.sh

service mount-usbfs /system/etc/start_syAudio.sh
    class main
    user root   
    group root
    oneshot


在這裡:system/core/include/private/android_filesystem_config.h中修改許可權

static struct fs_path_config android_files[] 中加入:

{ 00550, AID_ROOT,      AID_SHELL,   0,  "system/etc/start_syAudio.sh" },

儲存編譯就可以了

注意:上面的步驟記錄只是為了說明如何在編譯階段讓android自己拷貝檔案,實際上按照我這方法自啟動指令碼,有個問題,就是執行到我這個指令碼時,android就好像阻塞了,進不去Android的介面,暫未解決,應該是開機啟動的方式不對,路過的朋友有知道怎麼玩的,歡迎留言!