Freescale平台預置安裝可解除安裝的第三方apk

2021-09-17 20:48:38 字數 1829 閱讀 7601

整體思路如下:

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...