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

歡迎訪問 生活随笔!

生活随笔

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

Android

让最新的 Android Q Beta 3 强制重启的 Project Mainline,到底是什么?

發布時間:2024/10/12 Android 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 让最新的 Android Q Beta 3 强制重启的 Project Mainline,到底是什么? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一. 序

最新的 Android 版本 Q,已經發布了 Android Q Beta 3,雖然沒有正式發布,但是不少用戶已經加入了測試計劃,搶先體驗 Android Q 的新功能。

近期不少體驗用戶反饋,自己的設備升級到 Beta 3 之后,會出現觸不及防的強制重啟。谷歌方面已經確認,是運行了 Project Mainline 這個在 Android Q 中新加入的功能導致。谷歌在確認的同時也表示,這些問題會在之后的測試版本中修復,不會出現在正式版中。

那什么是 Project Mainline(后文簡稱 P-M) 呢?它是干什么的?又解決了什么問題?

二. Project Mainline

2.1 P-M 解決什么問題?

Android 能有今天的發展,得益于它系統源碼的開源,又正是因為它的開源,導致碎片化嚴重。以至于在谷歌高速迭代 Android 系統版本的過程中,不少用戶在吐槽,Q 來了,O 還沒用上呢。

而碎片化又會導致各種問題,例如安全,隱私等問題。往往在系統中暴露出來一個問題,Android 團隊修復它,還需要等待漫長的時間,才能最終由廠商同步到用戶端。

中間環節太多,必然導致更新的緩慢,往往一個安全更新要經過半年甚至一年才能最終被廠商升級到用戶端,同時這些步驟中,還有一些是有時間重疊的。

上圖表示了谷歌和芯片制造商以及手機廠商之間的更新時間,這各個階段之間的任何重疊,都可能導致更新的失效。這就導致對于手機廠商而言,使用較舊的但是更穩定的 Android 版本,是更安全的做法。

為了解決這些問題,從 Android P 開始加入的 Project Treble 計劃,它就是現在 Android Q 中 Project Mainline 的基礎。通過 P-M 的支持,簡化并加快了 Android 生態系統的升級更新。

上圖為 Project Treble 的計劃理想更新時間,在 Android Q 中,谷歌發現與系統級的更新相比,以“模塊”為粒度的更新,是一種更有效的方式,這就引入了 Project Mainline 計劃。

P-M 可以通過 Google Play,使用一種類似更新應用程序的方式,更新系統的核心組件。這類更新可以無需等待手機制造廠商的 OTA 更新,直接觸達用戶,同時這些 Mainline 組件,在保證開源的同事,也不允許廠商直接修改,只能由 Google 來更新升級。初期提供的 Mainlin 組件,涉及到安全、隱私、一致性三個方面。

到現在應該都知道 Project Mainline 的作用了吧?

簡單來說,Android 的碎片化導致更新困難,而一些重要的功能又迫切的需要及時更新到用戶側,例如安全類、隱私類等,谷歌開啟了 Project Mainline 計劃。Project Mainline 計劃將系統中,重要的“模塊”封裝成一個個 Mainline 組件,通過 Google Play 的支持,使用一種類似更新應用的方式,在需要的時候,直接更新到用戶端,以此來解決碎片化所帶來的各種問題

Proejct Mainline 讓你手里的設備更安全并且兼容性更強了。

2.2 P-M 更新了那些東西?

初期 Project Mainline 支持的模塊,主要涉及到安全、隱私和一致性三個方向。但是這種更新方式是通用的,后期不排除可能會攜帶一些常規更新。

Project Mainline 包含的更新方向:

  • 安全性:可以對關鍵的安全漏洞,提供更快的安全修復程序。例如媒體組件漏洞(占最近修補漏洞的近 40%)。
  • 隱私:隱私一直是 Android 關心的焦點,并且在版本更新中,一直投入大量的精力來更好的保護用戶數據并提高隱私標準。最主要的表現是對權限系統進行更新升級,更好的保護用戶數據。
  • 一致性:一致性主要影響設備穩定性、兼容性和開發人員使用 API 的一致性問題。

在 Android Q 中上,初始支持的組件包含:

  • 安全性:媒體編解碼器、媒體框架組件、DNS 解析器、Conscrypt。
  • 隱私:文檔 UI、權限控制器、ExtServices。
  • 一致性:時區數據、ANGLE、模塊元數據、網絡組件、登錄組件、網絡權限配置。

分模塊的好處就可以做到“手疼醫手,腳疼醫腳,哪里不對點哪里了”,讓每次更新更輕量級。

2.3 P-M 是如何運作的?

前面提到 P-M 主要是通過 Google Play,以一種類似更新應用的方式去更新這些 Mainline 組件,那它到底是如何運作的?

Mainline 組件最終以 APK 或者 APEX 文件的形式交付。APK 我們很熟悉,而 APEX 是谷歌開發的一種新的文件格式,類似于 APK。但是其根本區別在與,APEX 在系統啟動過程中,加載的更早。

因此,以前需要成為完整操作系統更新一部分的重要安全性和性能的更新,現在可以像更新應用一樣輕松的下載和安裝。

為了確保 Mainline 更細不會破壞原有的功能,還為此增加了保護機制和增加的測試流程,以確保每次更新都是經過全面測試以及完善的后備方案。

三. 小結時刻

Project Mainline 的本意是為了讓更新更快觸達用戶,以提高安全性、隱私和一致性等問題。雖然現在 Android Q Beta 3 中可能會導致強制重啟,但是問題已經暴露出來,后續解決它就很簡單了。

可能 P-M 的工程師覺得有更新,立即重啟一下就可以生效了,就給用戶強制重啟了,當然這也可能單純的就是一個 Bug。理論上如果不是很重要的組件更新,可能和重啟應用一樣簡單,就不需要對系統進行重啟,但是一些重要的組件更新,可能就需要重啟系統來確保它生效。

不過話說回來,再嚴重的問題,都已經運行在用戶端設備上這么久了,也不差這一天兩天的。參考 iOS 系統更新的策略就挺好的,立即更新或者在半夜空閑時更新。

這種單模塊的更新,可能會讓開發人員和測試人員更迷惑,以前兼容性的問題,只需要問清楚手機型號和系統版本,就可以針對性的做適配。現在好了,還需要弄清楚對應的 Mainline 模塊的版本號,也許有些問題已經被谷歌偷偷的修復了,但是在用戶側還沒有及時更新。這時開發人員還是蠻尷尬的,你說我改還是不改?

你覺得呢?歡迎在留言區討論!

本文對你有幫助嗎?留言、轉發、收藏是最大的支持,謝謝!

references:

  • APEX 格式
  • project mainline
  • project treble

公眾號后臺回復成長『成長』,將會得到我準備的學習資料,也能回復『加群』,一起學習進步;你還能回復『提問』,向我發起提問。

轉載于:https://www.cnblogs.com/plokmju/p/android_project_mainline.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的让最新的 Android Q Beta 3 强制重启的 Project Mainline,到底是什么?的全部內容,希望文章能夠幫你解決所遇到的問題。

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