999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

安卓系統增量升級探析與改進

2020-10-20 07:55:56張炎高
科學與信息化 2020年17期

張炎高

摘 要 Android最初是由Android Inc.開發的。2005年,谷歌收購了移動操作系統Android并在2007年首次向公眾展示。2008年10月,Android正式發布了1.0版本,每個廠商都可以使用這個操作系統。Android作為一個開源操作系統被進一步開發廣泛應用與手機、平板電腦和其他嵌入式設備。越來越多的中小企業,采用Android系統來開發產品。產品發布后,增加新功能、修補漏洞,都需要更新固件,隨著功能的增加,Android系統的固件也越來越大,小小的修改卻要升級整個固件,這不僅浪費網絡資源,同時也增加了升級需要的時間,于是增量升級成為一種好的解決方法。

關鍵詞 Android;安卓;OTA;增量升級;差分升級

1增量升級的原理

Android OTA升級分全量升級、增量升級(也叫差分升級)。增量升級,將舊版本固件與新版本固件進行比較,得到更新部分的補丁,并生成OTA升級zip壓縮包。將OTA升級zip壓縮包放到服務器上。設備連接到服務器,檢查是否需要更新,需要更新則通過網絡從服務器下載OTA升級zip壓縮包到本地,重啟進入recovery系統,通過應用補丁形式,完成boot、system分區的升級,完成boot、system分區的升級再次重啟進入正常系統,正常系統啟動過程中,以補丁形式完成recovery系統的升級。在recvoery系統中升級boot、system分區,在正常系統中升級recovery分區,這樣可以保證正常系統與recovery系統至少有一個是可以正常工作的。增加了系統的健壯性[1]。

2增量升級不足之處

增量升級并非十全十美,存在不足之處。

(1)Android原生增量升級,升級包管理復雜。隨著發布版本的增多,所需提供的增量升級包會越來越多。理論上,發布第n個版本時,需要提供n-1個增量升級包,才能滿足現有用戶通過一次升級,升級到版本n。否則用戶需要升級多次才能升級到版本n。例如:當前處于第1個版本的用戶,需要升級n-1次才能升級到第版本n,這將會是糟糕的用戶體驗。

(2)需要保留每個版本的中間文件,用于增量升級包的生成。小小的改動,也需要保留整個系統的中間文件,其中的大部分文件是冗余的。隨著版本的增加,消耗的磁盤空間也會越來越大。

(3)實際應用中,固件對外發布后,系統層面的代碼很少改動,主要修改是APP相關的修改。APP的小小修改,也需要重新編譯整個Android系統,大大降低開發效率。

(4)不修改源碼的情況下,全量升級只允許從編譯時間較早的版本升級到編譯時間較新的版本。增量升級則沒有這個限制,實際應用中卻有這樣的限制需求[2]。

3增量升級改進

中小企業為了加快產品上市,往往會先發布一版相對穩定的固件,然后在實際應用過程中不斷改進,版本迭代頻繁。開發調試過程中,一天可能出幾個調試版本固件,甚至更多。安卓系統原生的差分升級,在這樣環境下的應用,不足之處就會更加突出。對此,進行改進,改進后的差分升級,對中小企業更加實用、高效。

3.1 固件打包方式修改

固件打包目錄由編譯好的kernel文件、root目錄、recovery目錄、system目錄組成。root目錄用于生成正常系統ramdisk.img(根文件系統一部分,與system組成Android的整個根文件系統),ramdisk.img與編譯好的kernel生成boot.img。recovery目錄用于生成recovery系統的ramdisk.img(一個小的根文件系統),再與編譯好的kernel生成recovery.img。system目錄,存放Android系統的文件及目錄,用生成system.img。每個鏡像增加鏡像頭,鏡像頭包含版本、大小、MD5校驗和、版本兼容性等信息。增加固件頭,包含boot system recovery的版本、MD5校驗和、大小、偏移。固件頭后是boot.img、recovery.img、system.img等鏡像。system分區以文件或目錄為單位為最小單元,在鏡像文件頭部存放system分區的文件列表,文件列表項由文件名(或目錄)、MD5校驗和、偏移、大小組成。改進后,打包與Android源碼分離。這樣只修改APP應用時無須重新編譯Android源碼,加快了固件發布。

3.2 升級數據下載改進

與原生的OTA升級下載整個OTA升級包不同,先下載固件頭部分數據,比較固件頭中的版本、MD5校驗和信息。固件頭中對應鏡像的版本、MD5校驗和都相同則無須下載此部分鏡像,不同則繼續下載鏡像頭進行比較。boot、recovery分區根據版本、MD5校驗和比較結果進行下載,版本、MD5校驗和相同,無須升級則不進行下載,否則下載固件中相應部分的數據,減少數據下載。system分區數據的下載,則進一步比較當前版本固件中system分區的文件列表與最新版本固件中system分區的文件列表,可以知道新版本固件system分區中哪些文件(或目錄)是新增加的,哪些文件(或目錄)需要刪除的,哪些文件(或目錄)需要修改的。只下載增加、修改的數據,記錄刪除的文件(或目錄),就可以升級。增量升級數據的生成在設備端進行,這樣不需要事先制作好2個版本間的增量升級包,服務器上只需發布完整的固件即可。固件版本的維護,相對簡單。設備當前無論處于哪個固件版本,都可以通過一次更新升級到最新版本。system分區文件列表包含成千上萬個文件或目錄,為了加快比較速度,對本地文件列表根據文件名進行快速排序,然后對最新版本的system分區文件列表項,用2分查找法在本地文件列表中進行搜索,這樣可以快速生成新增、修改、刪除表。

3.3 數據升級

與Android原生系統一樣,同樣啟動進recovery系統進行增量升級,不同改用掛載system分區,進行文件增加、刪除。

4結束語

綜上所述,改進后的差分升級方式,更易維護,更節省時間、空間,更適合中小企業快速迭代的需求。

參考文獻

[1] 林學森.深入理解Android內核設計思想[M].北京:人民郵電出版社,2014:335.

[2] 佚名.android維基百科[ED/OL].https://en.droidwiki.org/wiki/Android,2020-5-2.

主站蜘蛛池模板: 亚洲日韩精品伊甸| 中国美女**毛片录像在线| 国产自视频| 午夜精品久久久久久久无码软件 | 久久不卡精品| 亚洲一级毛片在线观| 日本少妇又色又爽又高潮| 91毛片网| 亚洲一区色| 亚洲一区二区精品无码久久久| 国产精品视频免费网站| 亚洲国产日韩一区| 日本人妻丰满熟妇区| P尤物久久99国产综合精品| 亚洲乱码视频| 亚洲高清在线天堂精品| 1级黄色毛片| 久久人人妻人人爽人人卡片av| 亚洲天堂久久| 国产女人在线观看| 欧美一区二区福利视频| 激情综合婷婷丁香五月尤物| 亚洲欧美另类久久久精品播放的| 超碰aⅴ人人做人人爽欧美| 一级成人a做片免费| 多人乱p欧美在线观看| 亚洲精品黄| 69视频国产| 色香蕉网站| 欧美成人二区| 亚洲日韩AV无码一区二区三区人 | 国产成人午夜福利免费无码r| 国产无码性爱一区二区三区| 亚洲免费黄色网| 欧美a网站| 国产成人午夜福利免费无码r| 精品伊人久久久大香线蕉欧美| 免费人成黄页在线观看国产| 日韩无码真实干出血视频| 九色综合伊人久久富二代| 日韩欧美亚洲国产成人综合| 亚洲精品无码专区在线观看| 秘书高跟黑色丝袜国产91在线| 午夜福利网址| 婷婷综合亚洲| 精品一區二區久久久久久久網站| 天天综合网色| 国产乱子伦精品视频| 亚洲精品成人片在线观看| 欧美亚洲中文精品三区| 97超爽成人免费视频在线播放 | 亚洲午夜国产精品无卡| 国产精品不卡片视频免费观看| yjizz国产在线视频网| 国产美女免费| 美女黄网十八禁免费看| 不卡的在线视频免费观看| 精品国产免费第一区二区三区日韩| 亚洲人成网站在线播放2019| 免费观看成人久久网免费观看| 亚洲天堂日本| 国产精品男人的天堂| 国产91在线免费视频| 国产精品美女免费视频大全 | 国产第八页| 国产一级妓女av网站| 亚洲中文精品久久久久久不卡| 97视频免费看| 国产91精品调教在线播放| 亚洲中文字幕在线一区播放| 青青操国产视频| av天堂最新版在线| 尤物精品国产福利网站| 直接黄91麻豆网站| 国产日韩久久久久无码精品| 波多野结衣无码中文字幕在线观看一区二区 | 18禁不卡免费网站| 最新国产成人剧情在线播放| www.亚洲一区二区三区| 亚洲欧美日韩色图| 久久综合AV免费观看| jizz亚洲高清在线观看|