一種分離安卓鏡像燒錄流程的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及到優(yōu)化安卓設(shè)備的生產(chǎn)流程的技術(shù)領(lǐng)域。更具體地說是把安卓設(shè)備的客戶體驗(包括預(yù)裝應(yīng)用軟件和資源文件等)和基本設(shè)置(包括地區(qū)、時區(qū)、設(shè)備名等)從系統(tǒng)中分離出來單獨生成鏡像從而允許單獨燒錄改變系統(tǒng)的表現(xiàn)。進而提供并行進行系統(tǒng)開發(fā)和軟件研發(fā)以及讓一套系統(tǒng)鏡像適應(yīng)多個產(chǎn)品環(huán)境甚至是多個平臺的方法。
【背景技術(shù)】
[0002]作為一個核心代碼完全開源的系統(tǒng),安卓系統(tǒng)被移植到各種智能產(chǎn)品中并銷售到世界各地。而不同的智能產(chǎn)品有不同的應(yīng)用場景,因而需要不同的預(yù)裝應(yīng)用或系統(tǒng)設(shè)置。即使是同樣的智能產(chǎn)品由不同的廠家生產(chǎn)也由于不同的客戶需求從而需要預(yù)裝不同的系統(tǒng)應(yīng)用、設(shè)置不同的產(chǎn)品屬性(ID、開機動畫、時區(qū)、語言等)。
[0003]現(xiàn)有安卓系統(tǒng)的文件系統(tǒng)鏡像是system, img,這個鏡像把大部分的用戶體驗相關(guān)功能(這鏡像中包含了系統(tǒng)桌面Launcher應(yīng)用、系統(tǒng)設(shè)置Settings應(yīng)用等)和默認(rèn)設(shè)置(system properties包含大部分系統(tǒng)默認(rèn)設(shè)置)集成在其中。對于不同的客戶對系統(tǒng)默認(rèn)進行修改的需求,通常的做法是在系統(tǒng)、硬件、應(yīng)用軟件和資源文件都開發(fā)完成后再生成鏡像然后上產(chǎn)線生產(chǎn)。
[0004]現(xiàn)有安卓系統(tǒng)的系統(tǒng)鏡像是system, img,所有的默認(rèn)配置和大部分預(yù)裝應(yīng)用軟件以及預(yù)包含媒體文件等都包含在其中。本發(fā)明涉及到system, img和系統(tǒng)默認(rèn)配置、默認(rèn)應(yīng)用軟件、默認(rèn)多媒體文件。
[0005]安卓系統(tǒng)的各種產(chǎn)品和用戶體驗相關(guān)配置分布在系統(tǒng)的各個功能塊中。比如,產(chǎn)品名稱、設(shè)備型號、語言設(shè)置、地區(qū)設(shè)置、系統(tǒng)鈴聲是由系統(tǒng)初始化時通過讀取prop文件進行設(shè)置的,輸入法設(shè)置是通過InputMethodManagerService決定的,開機動畫是由boot_animat1n程序讀取并顯示動畫文件,時間格式是由DateFormat讀取Settings數(shù)據(jù)庫決定的。要找出這些修改的地方是一項需要經(jīng)驗和耗時的工作。同時,很多時候就為了對系統(tǒng)默認(rèn)做一點簡單的修改卻需要重新編譯并燒錄。但是如下面S12和S13所述的編譯和燒寫步驟耗時巨大,非常影響效率。特別是在產(chǎn)線上,對效率的影響體現(xiàn)得更為直接?,F(xiàn)有的安卓設(shè)備的研發(fā)和生產(chǎn)流程如圖1所示,具體描述如下:
Sll:開發(fā)系統(tǒng),根據(jù)設(shè)備特性開發(fā)驅(qū)動、系統(tǒng)層功能,修改BUG。然后根據(jù)客戶提交的需求對系統(tǒng)進行客制化。
[0006]S12:編譯系統(tǒng)鏡像,這個編譯耗時巨大,生成一個一般200?500M的system.1mg ο
[0007]S13:燒錄system, img,由于該鏡像較大燒錄時間也較長。
[0008]S14:如果有新的客戶需求或者前期未完成的客戶需求進來,返回Sll,Sll?S14很多時候是個反復(fù)循環(huán)的過程。
[0009]S15:系統(tǒng)和硬件都達到客戶的需求,可以出貨。
[0010]這樣的流程是由于所有的配置和大部分應(yīng)用軟件以及多媒體文件都集成在system, img這個系統(tǒng)鏡像中導(dǎo)致的。牽一發(fā)而動全身,客戶的每一次需求修改都會導(dǎo)致重新編譯系統(tǒng)甚至是重新燒錄。很多時候一個簡單的修改會導(dǎo)致對大量的已經(jīng)燒錄好的產(chǎn)品進行重新生產(chǎn),這是對生產(chǎn)資源巨大的浪費。
【發(fā)明內(nèi)容】
[0011]本發(fā)明公開了一種將系統(tǒng)應(yīng)用和基本屬性設(shè)置從安卓系統(tǒng)中分離出來的方法。通過這種方法可以讓系統(tǒng)開發(fā)、設(shè)備生產(chǎn)和需求的提出和完善并行進行,或是同一個系統(tǒng)可以適應(yīng)不同的產(chǎn)品需求,從而優(yōu)化智能設(shè)備的生產(chǎn)流程。而且該方法提供了簡化客戶進行需求配置的手段。
[0012]本發(fā)明的具體技術(shù)方案如下:
本發(fā)明為了解決上述問題將一些系統(tǒng)默認(rèn)配置和系統(tǒng)默認(rèn)資源從系統(tǒng)中剝離出來,通過額外燒寫一個鏡像完成對系統(tǒng)的客戶化配置。
[0013]一種分離安卓鏡像燒錄流程的方法,具體如下:
S21:開發(fā)系統(tǒng),根據(jù)設(shè)備特性開發(fā)驅(qū)動、系統(tǒng)層功能,修改BUG。
[0014]S22:編譯系統(tǒng)鏡像。
[0015]S23:燒錄系統(tǒng)鏡像。
[0016]S24:根據(jù)客戶需求生成配置文件,準(zhǔn)備多媒體文件和應(yīng)用軟件等。
[0017]S25:將上面準(zhǔn)備好的各個文件打包生成配置鏡像。
[0018]S26:燒錄該鏡像。
[0019]S27:如果有新的客戶需求或者前期未完成的客戶需求進來,返回S24,客戶需求只會影響S24?S26。
[0020]S28:系統(tǒng)和硬件都達到客戶的需求,可以出貨。
[0021]本發(fā)明按照設(shè)備生產(chǎn)和設(shè)備啟動運行的兩個區(qū)間分為兩大模塊:生產(chǎn)模塊和啟動并配置模塊。生產(chǎn)模塊負(fù)責(zé)將客戶的需求資源放入設(shè)備中,而啟動并配置模塊負(fù)責(zé)將客戶的三大塊需求(資源配置、多媒體、應(yīng)用軟件)通過配置服務(wù)、媒體掃描儀(MediaScanner)、包管理服務(wù)PackageManagerService (PMS)三個渠道“讀”到設(shè)備中。
[0022]上述生產(chǎn)模塊,具體描述如下:
步驟S31、通過工具生成客制化的默認(rèn)配置文件,將它和需求預(yù)包含的多媒體文件、需求的預(yù)裝應(yīng)用軟件分類整理。
[0023]步驟S32、將整理好的資源打包生成鏡像文件。
[0024]步驟S33、燒錄該鏡像。
[0025]上述啟動并配置模塊,具體描述如下:
(I)對于系統(tǒng)默認(rèn)配置,安卓系統(tǒng)開始運行的初期啟動添加到系統(tǒng)中的配置服務(wù),該配置服務(wù)解釋配置文件并將配置鍵值對保存到配置表中。在系統(tǒng)對各個具體默認(rèn)設(shè)置項進行初始化的時候首先訪問配置服務(wù),從配置表中嘗試讀取所需默認(rèn)配置值。如成功則使用該值,如失敗則使用系統(tǒng)默認(rèn)值。
[0026](2)對于多媒體文件,把掛載的客制化需求鏡像分區(qū)中的多媒體文件夾加入到系統(tǒng)的MediaScanner掃描路徑中。MediaScanner會對它們進行和系統(tǒng)自帶的多媒體文件進行同樣的掃描處理。
[0027](3)對于應(yīng)用軟件,通過修改PackageManagerService將客制化需求鏡像分區(qū)中的應(yīng)用軟件文件夾加入到它的掃描路徑中。同時修改掃描的方式,如果客制化的需求中包含和系統(tǒng)默認(rèn)同樣的應(yīng)用包則覆蓋原來的應(yīng)用包。
[0028]有益效果
本發(fā)明采用額外燒錄鏡像的方式提供了一個不需要重新生成系統(tǒng)鏡像就能修改安卓系統(tǒng)部分功能或特性的方法。安卓系統(tǒng)的主要鏡像是system, img,該鏡像基本上囊括了一個安卓設(shè)備的所有默認(rèn)的基本特性和功能。因而在開發(fā)或生產(chǎn)中對大部分系統(tǒng)的默認(rèn)特性或功能進行定義都需要重新生成該鏡像。但是該鏡像很龐大,編譯和燒錄都非常耗時。目前在生產(chǎn)中如果出現(xiàn)客戶的需求反復(fù)的情況就需要對system, img重新編譯和燒錄,這對生產(chǎn)效率影響極大。這樣該發(fā)明的提出就在一定程度上優(yōu)化了整個研發(fā)和生產(chǎn)的流程,讓客戶需求的改變不會影響system, img。也就是將system, img的研發(fā)和客戶對產(chǎn)品需求的提出和整理獨立開來,從而提高了研發(fā)和生產(chǎn)效率。
【附圖說明】
[0029]圖1是現(xiàn)有的安卓設(shè)備的研發(fā)和生產(chǎn)流程;
圖2是本發(fā)明安卓設(shè)備的研發(fā)和生產(chǎn)流程;
圖3是本發(fā)明的生產(chǎn)模塊;
圖4是本發(fā)明的啟動并配置模塊;
圖5是本發(fā)明使用客制化配置鏡像配置系統(tǒng)的總的流程圖。
【具體實施方式】
[0030]下面結(jié)合附圖進一步闡述本發(fā)明:
如圖2,本發(fā)明安卓設(shè)備的研發(fā)和生產(chǎn)流程如圖2所示,具體如下:
S21:開發(fā)系統(tǒng),根據(jù)設(shè)備特性開發(fā)驅(qū)動、系統(tǒng)層功能,修改BUG。
[0031]S22:編譯系統(tǒng)鏡像。
[0032]S23:燒錄系統(tǒng)鏡像。
[0033]S24:根據(jù)客戶需求生成配置文件,準(zhǔn)備多媒體文件和應(yīng)用軟件等。
[0034]S25:將上面準(zhǔn)備好的各個文件打包生成配置鏡像。
[0035]S26:燒錄該鏡像。
[0036]S27:如果有新的客戶需求或者前期未完成的客戶需求進來,返回S24,客戶需求只會影響S24?S26。
[0037]S28:系統(tǒng)和硬件都達到客戶的需求,可以出貨。
[0038]本發(fā)明按照設(shè)備生產(chǎn)和設(shè)備啟動運行的兩個區(qū)間分為兩大模塊:生產(chǎn)模塊和啟動并配置模塊。生產(chǎn)模塊負(fù)責(zé)將客戶的需求資源放入設(shè)備中,而啟動并配置模塊負(fù)責(zé)將客戶的三大塊需求(資源配置、多媒體、應(yīng)用軟件)通過配置服務(wù)、MediaScanner、PackageManagerService (PMS)三個渠道“讀”到設(shè)備中。
[0039]本發(fā)明的生產(chǎn)模塊,具體描述如下: