System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及一種嵌入式操作系統下的分區及安裝包的管理方法。
技術介紹
1、嵌入式輕量級鴻蒙系統的代碼及數據往往需要分成多個分區,例如包括用于啟動引導的啟動分區、用于運行鴻蒙系統代碼的系統代碼分區,用于放置組成鴻蒙應用程序的hap(harmonyos?ability?package,鴻蒙能力包)安裝包分區、用于放置ble(bluetooth?lowenergy,藍牙低功耗)、wcn(windows?connect?now,windows立即連接)或modem(調制解調器)代碼的固件代碼分區、文件系統分區等。傳統的嵌入式操作系統的分區燒寫方式是將每個分區保存在不同的flash(閃存)區域,分別對不同的flash區域燒寫不同的分區鏡像文件。每個不同的flash區域因為需要單獨燒寫不同的分區鏡像文件,都需要按照flash塊對齊,造成了大量的分區間隙和flash空間的浪費。此外每個分區鏡像文件都需要單獨燒寫和升級,增加了燒寫和升級過程的復雜度。
2、鴻蒙系統的應用程序由一個或多個hap安裝包組成。通常輕量級鴻蒙系統會直接使用這些hap安裝包進行解壓安裝,安裝時先將hap安裝包下載或預置到本地文件系統,再對hap安裝包進行解壓,來實現應用程序的安裝。對于存儲資源和運算能力受限的嵌入式系統來說,預先放置或下載hap安裝包需要一定的存儲空間,并且解壓過程還需要消耗新的存儲空間。此外,對hap安裝包進行解壓還需要消耗大量的時間,在安裝過程中將出現長時間的等待,造成了較差的使用體驗。
技術實現思路
>1、本申請所要解決的技術問題是如何使鴻蒙系統中鏡像文件的燒寫避免存儲空間浪費。
2、為解決上述技術問題,本申請提出了一種基于輕量級鴻蒙系統的分區管理方法,包括如下步驟。步驟s1:將鴻蒙系統中的hap安裝包的生成方式改為生成非壓縮的zip格式的hap安裝包,所述非壓縮是指壓縮后的數據內容等于壓縮前的數據內容。還修改鴻蒙系統中的文件系統掛載接口,使其支持將非壓縮的zip格式文件掛載到文件系統的指定路徑,并且支持嵌套掛載。還修改鴻蒙系統中的分區數據讀取接口,使其支持從非壓縮的zip格式文件的掛載路徑下直接讀取所述非壓縮的zip格式文件的內容,還支持直接讀取鏡像文件的內容。步驟s2:將所有hap安裝包均生成為非壓縮的zip格式,再將所有hap安裝包統一放置在用于生成文件系統目錄的文件夾或其子文件夾中;再將所述用于生成文件系統目錄的文件夾打包成非壓縮的zip格式的文件系統分區鏡像文件;將其他分區的鏡像文件與所述文件系統分區鏡像文件放在同級目錄;再將所有分區的鏡像文件打包生成一個非壓縮的zip格式的合并分區燒寫包。步驟s3:將所述非壓縮的zip格式的合并分區燒寫包燒寫到嵌入式設備的非易失性存儲器中。步驟s4:所述嵌入式設備的鴻蒙系統啟動時,所述文件系統掛載接口將所述非壓縮的zip格式的合并分區燒寫包掛載到文件系統指定路徑——稱為第一路徑,所述分區數據讀取接口從第一路徑讀取所述非壓縮的zip格式的合并分區燒寫包的內容。步驟s5:所述嵌入式設備需要使用文件系統時,所述文件系統掛載接口將所述第一路徑下的所述非壓縮的zip格式的文件系統分區鏡像文件掛載到文件系統指定路徑——就是所述文件系統目錄;所述分區數據讀取接口從所述文件系統目錄讀取所述非壓縮的zip格式的文件系統分區鏡像文件中的內容。
3、進一步地,所述步驟s1中,通過編輯鴻蒙編譯腳本修改生成hap安裝包的工具打包參數,實現修改hap安裝包的生成方式。
4、進一步地,所述步驟s1中,所述嵌套掛載是指:如果非壓縮的zip格式的第一文件內部包含非壓縮的zip格式的第二文件,則將所述第一文件掛載到第一路徑后,所述文件系統掛載接口支持將第二文件掛載到第二路徑。
5、進一步地,所述步驟s2中,所述其他分區包括啟動分區、系統代碼分區、固件代碼分區的一種或多種;所述其他分區的鏡像文件是原始的二進制數據內容。
6、進一步地,所述步驟s2中,將所述用于生成文件系統目錄的文件夾打包成非壓縮的zip格式的文件系統分區鏡像文件時,對hap安裝包內的文件根據文件路徑名的字符串ascii碼值進行從小到大排序。
7、進一步地,所述步驟s4中,所述分區數據讀取接口從第一路徑讀取所述其他分區的鏡像文件,實現對所述其他分區的訪問。
8、進一步地,所述步驟s5之后還包括步驟s6。步驟s6:所述嵌入式設備需要安裝鴻蒙應用程序時,所述文件系統掛載接口將所述文件系統目錄或其子目錄下的需要安裝的鴻蒙應用程序對應的每個非壓縮的zip格式的hap安裝包掛載到文件系統指定路徑——多個第三路徑,所述分區數據讀取接口從每個第三路徑讀取需要安裝的鴻蒙應用程序對應的每個非壓縮的zip格式的hap安裝包內的文件數據內容、文件屬性和目錄內容。
9、進一步地,所述步驟s6執行完畢后,以嵌套掛載和直接訪問的方式完成了鴻蒙應用程序的安裝過程。
10、本申請還提出了一種基于輕量級鴻蒙系統的分區管理裝置,包括系統修改模塊、生成打包模塊、合并分區燒寫模塊、第一掛載讀取模塊、第二掛載讀取模塊。所述系統修改模塊用于將鴻蒙系統中的hap安裝包的生成方式改為生成非壓縮的zip格式的hap安裝包;還修改鴻蒙系統中的文件系統掛載接口,使其支持將非壓縮的zip格式文件掛載到文件系統的指定路徑、以及支持嵌套掛載;還修改鴻蒙系統中的分區數據讀取接口,使其支持從非壓縮的zip格式文件的掛載路徑下直接讀取內容,還支持直接讀取鏡像文件的內容。所述生成打包模塊用于將所有hap安裝包均生成為非壓縮的zip格式,再將所有hap安裝包統一放置在用于生成文件系統目錄的文件夾或其子文件夾中;再將所述用于生成文件系統目錄的文件夾打包成非壓縮的zip格式的文件系統分區鏡像文件;將其他分區的鏡像文件與所述文件系統分區鏡像文件放在同級目錄;再將所有分區的鏡像文件打包生成一個非壓縮的zip格式的合并分區燒寫包。所述合并分區燒寫模塊用于將所述非壓縮的zip格式的合并分區燒寫包燒寫到嵌入式設備的非易失性存儲器中。所述第一掛載讀取模塊用于在嵌入式設備的鴻蒙系統啟動時,將所述非壓縮的zip格式的合并分區燒寫包掛載到文件系統指定路徑——稱為第一路徑,從第一路徑讀取所述非壓縮的zip格式的合并分區燒寫包的內容。所述第二掛載讀取模塊用于在嵌入式設備需要使用文件系統時,將所述非壓縮的zip格式的文件系統分區鏡像文件掛載到文件系統指定路徑——就是所述文件系統目錄;從所述文件系統目錄讀取所述非壓縮的zip格式的文件系統分區鏡像文件中的內容。
11、進一步地,所述裝置還包括第三掛載讀取模塊。所述第三掛載讀取模塊用于在嵌入式設備需要安裝鴻蒙應用程序時,將需要安裝的鴻蒙應用程序對應的每個非壓縮的zip格式的hap安裝包掛載到文件系統指定路徑——多個第三路徑,從每個第三路徑讀取需要安裝的鴻蒙應用程序對應的每個非壓縮的zip格式的hap安裝包的內容。
12、本申請取得的技術效果是:第一,所有分區的鏡像文件打包本文檔來自技高網...
【技術保護點】
1.一種基于輕量級鴻蒙系統的分區管理方法,其特征是,包括如下步驟;
2.根據權利要求1所述的基于輕量級鴻蒙系統的分區管理方法,其特征是,所述步驟S1中,通過編輯鴻蒙編譯腳本修改生成HAP安裝包的工具打包參數,實現修改HAP安裝包的生成方式。
3.根據權利要求1所述的基于輕量級鴻蒙系統的分區管理方法,其特征是,所述步驟S1中,所述嵌套掛載是指:如果非壓縮的ZIP格式的第一文件內部包含非壓縮的ZIP格式的第二文件,則將所述第一文件掛載到第一路徑后,所述文件系統掛載接口支持將第二文件掛載到第二路徑。
4.根據權利要求1所述的基于輕量級鴻蒙系統的分區管理方法,其特征是,所述步驟S2中,所述其他分區包括啟動分區、系統代碼分區、固件代碼分區的一種或多種;所述其他分區的鏡像文件是原始的二進制數據內容。
5.根據權利要求1所述的基于輕量級鴻蒙系統的分區管理方法,其特征是,所述步驟S2中,將所述用于生成文件系統目錄的文件夾打包成非壓縮的ZIP格式的文件系統分區鏡像文件時,對HAP安裝包內的文件根據文件路徑名的字符串ASCII碼值進行從小到大排序。
...【技術特征摘要】
1.一種基于輕量級鴻蒙系統的分區管理方法,其特征是,包括如下步驟;
2.根據權利要求1所述的基于輕量級鴻蒙系統的分區管理方法,其特征是,所述步驟s1中,通過編輯鴻蒙編譯腳本修改生成hap安裝包的工具打包參數,實現修改hap安裝包的生成方式。
3.根據權利要求1所述的基于輕量級鴻蒙系統的分區管理方法,其特征是,所述步驟s1中,所述嵌套掛載是指:如果非壓縮的zip格式的第一文件內部包含非壓縮的zip格式的第二文件,則將所述第一文件掛載到第一路徑后,所述文件系統掛載接口支持將第二文件掛載到第二路徑。
4.根據權利要求1所述的基于輕量級鴻蒙系統的分區管理方法,其特征是,所述步驟s2中,所述其他分區包括啟動分區、系統代碼分區、固件代碼分區的一種或多種;所述其他分區的鏡像文件是原始的二進制數據內容。
5.根據權利要求1所述的基于輕量級鴻蒙系統的分區管理方法,其特征是,所述步驟s2中,將所述用于生成文件系統目錄的...
【專利技術屬性】
技術研發人員:胡文,李文,黃金華,
申請(專利權)人:翱捷科技股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。