整體思路如下:
1.把這些要install的應用放置在freescale\imx7\device\fsl\shiyuan_7d_eink\preinstall這個路徑。包括安裝apk指令碼和android.mk檔案,和啟動這些apk的指令碼檔案。
其中安裝apk指令碼如下:
#!/system/bin/busybox sh
busybox="/system/bin/busybox"
if [ ! -e /data/system.notfirstrun ]; then
echo "do preinstall job"
/system/bin/sh /system/bin/pm preinstall /system/preinstall
$busybox touch /data/system.notfirstrun
echo "preinstall ok"
fiandroid.mk:
#########################
include $(clear_vars)
just_copy_to :=system/bin/preinstall.sh
just_copy_from:=$(local_path)/preinstall.sh
$(shell mkdir -p $(just_copy_to))
$(shell cp $(just_copy_from) $(just_copy_to))
啟動apk的指令碼如下:
2.在apk檔案,安裝apk指令碼,android.mk檔案,和啟動apk指令碼檔案放置在對應路徑後;把對應的apk拷貝到/system/preinstall路徑下,實現如下:
把preinstall.sh,和starttargetproc.sh兩個指令碼拷貝到android系統路徑/system/bin下
product_copy_files += \
device/fsl/shiyuan_7d_eink/preinstall/preinstall.sh:system/bin/preinstall.sh \
device/fsl/shiyuan_7d_eink/preinstall/starttargetproc.sh:system/bin/starttargetproc.sh
那麼至此,android原始碼編譯後的結果是,指令碼已經拷貝到/system/bin下面 ,apk.拷貝到/system/preinstall路徑下;
3.刷完機後,android系統啟動的時候,會啟動init.rc指令碼檔案,在這個指令碼檔案中呼叫安裝apk的指令碼,和呼叫啟動apk的指令碼。
a.init.rc 中呼叫安裝應用指令碼
service preinstall /system/bin/busybox sh /system/bin/preinstall.sh
user root
group root
disabled
oneshot
b.init.rc中嵌入呼叫啟動apk的指令碼
#start the two services
#觸發器,當系統屬性dev.bootcomplete=1即啟動完成時觸發
on property:dev.bootcomplete=1
start startservice
service startservice /system/bin/starttargetproc.sh
class late_start
user root
group root
disabled
oneshot
再次啟動系統,就會執行啟動應用指令碼,把應用預設啟動起來.
總結:
開發平台的安裝
接著我就不多話了,入正題,先利利咱們的器。1.安裝vs2008rtm90天試用版 2.silverlight開發模板 3.目前最新版的expression blend 2008年六月份版本 4.目前最新版的deep zoom composer 5.expression studio 2 簡體中文版 ...
Redis Win平台安裝
redis 官網 中文官網 加壓後,cmd進入redis目錄 其中,redis server.exe 是啟動伺服器的命令。redis.windows.conf 是redis伺服器的配置檔案。redis 是記憶體資料庫,所以可以配置記憶體大小,登入密碼等。這裡我們不做設定,使用預設大小。設定redis...
windows平台MySQL安裝
2 安裝 2.1環境變數 不要問為什麼?必須要把bin目錄加到環境變數中 2.2以管理身份開啟cmd,win q 輸入cmd 2.3資料庫初始化 不同版本還有點不一樣 2.4把mysql做成服務 mysqld install mysqld2.5啟動服務net start mysqld 3 進入mys...