日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android手机FOTA升级的大概流程介绍

發布時間:2024/3/26 Android 75 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android手机FOTA升级的大概流程介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文內容轉載自FOTA升級流程以及FOTA相關知識總結兩篇文章,有需要可去原文查看。

Android設備的系統升級有兩種方式:

(1)下載更新包到手機后,手動安裝,即所謂“卡刷包”的形式更新;

(2) 通過 Over-the-air(OTA)的方式更新系統,簡稱為FOTA(Firmware Over The Air)。FOTA升級有兩種方式,一種是Full update,即將整個IMG置于升級包中,然后將升級包直接拷貝到系統;一種是Increamental update,即通過增量式的差分包,只是將系統更新的部分打包,然后以打補丁的形式應用到系統。

Android系統分區

在介紹FOTA升級流程之前,先來看看Android系統的分區。一般,Android系統有如下幾個分區(不同廠商、設備可能有差異):

  • /boot:用于系統啟動的分區,包括Linux系統內核和最小的系統文件。它負責安裝系統和其他分區,并加載system分區的代碼。沒有該分區,手機是無法正常啟動的;
  • /system:該分區包含了出了 kernel/ramdisk之外的系統應用程序和庫文件。正常操作情況下,該分區是只讀狀態,?其內容僅在OTA更新期間更改;
  • /recovery:用于系統升級打補丁,包含了一個完整的Linux操作系統和一個特殊的recovery包。FOTA升級時,下載完更新包后,進入recovery模式,recovery程序會讀更新包,然后將各個patch應用到各個分區;
  • /misc:升級時,recovery用于存儲相關信息的小分區
  • /data:主要包含了用戶的數據,如聯系人、短信、設置以及安裝的應用。清除該分區等同于將手機重置,OTA不會影響該分區;
  • /cache:應用使用的臨時儲存區域,訪問該區域需要特殊權限,同時要用于儲存下載的FOTA包。其他程序使用這個空間,期望文件可以隨時消失。某些OTA軟件包安裝可能會導致此分區被完全擦除。

FOTA升級流程

  • 手機會定期檢測是否有更新(也可手動檢測),并通知用戶有新版本可用。
  • 將安裝包下載到cache分區,若cache分區不夠,下載到data分區(這時候要注意是否有寫入和刪除權限),并根據system/etc/security/otacerts.zip的證書驗證其加密簽名。系統提示用戶安裝更新。
  • 系統重啟到recovery模式,運行的是recovery分區中的系統內核。而不是boot中的系統。
  • init進程通過執行init.rc 腳本:service recovery /sbin/recovery 啟動recovery程序
  • recovery首先校驗下載的安裝包是否與res/keys(ramdisk)中的公匙相匹配。
  • recovery根據腳本解析安裝包,然后將修改分別更新到對應的分區中,在system 分區中包含了用于更新recovery分區的內容。
  • 系統正常啟動:啟動更新后的boot,system分區。啟動時檢測是否對recovery分區有更新,若有差異,則更新到recovery分區(這里也是為什么修改了recovery的代碼后,需要更新完,且在下個更新中才能得到驗證)
  • 設備通知服務器更新完成。

OTA包的制作可去FOTA相關知識總結查看。

總結

以上是生活随笔為你收集整理的Android手机FOTA升级的大概流程介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。