這真是一個極好的訊息。
12 月 19 號,Google 正式在安卓開發者部落格官網宣稱,為提升應用安全性和效能,確保每一個安卓裝置使用者擁有良好使用者體驗,所有想要將應用上線 Google Play 的安卓開發人員必須嚴格遵守這三條鐵律做出改變:
-
2018 下半年開始,Play 商店強制要求新發布和需要更新的 apps 修改 Target API 為最新版本。具體時間分別是,對於新上線的應用為 2018 年 8 月,對於更新已經上線的應用為 2018 年 11 月。此舉是為了確保應用使用的是在安全和效能方面有所優化的最新 API 編譯的。
-
2019 年 8 月開始,Play 商店要求新上線和更新的 apps 必須支援 64 位 CPU 架構。至於是否支援 32 位版本,取決於應用自身。
-
除此之外,從 2018 年上半年開始,Play 商店將在每一個 APK 上面自動新增少量的安全性後設資料(metadata),進一步驗證 app 真實性。注意,開發者不需要為此變化做出任何修改。
這三條非常有力的強制性改變,足以見出 Google 在維護安卓開發生態系統上下定的決心。同時,我們也不用擔心忘記對自己應用的修改,Google 會持續提供提醒,並將這些變更的關鍵時間點告知開發者們。
知曉完上述三條關鍵變更訊息,我們再來看看 Google 是如何詳細解讀每一條鐵律背後的知識點。
Target API level
事實上,每一次的 API 升級變更,Google 都在致力於幫助安卓開發人員提升應用安全性,避免使用者遭受來自惡意軟體的攻擊。比如近幾次大版本的更新:
-
不再支援用於 bindService() 的隱形 Intent(Android 5.0)
-
執行時許可權(Android 6.0)
-
用於安全連線的使用者自定義 CAs 證書預設不再受信(Android 7.0)
-
使用者沒有明確批准時,應用不能訪問使用者賬戶資訊(Android 8.0)
大部分 API 變更僅適用於那些通過 targetSdkVersion 屬性明確指明支援新版 API 行為的應用。比如,targetSdkVersion 大於等於 23 時,應用只能通過執行時許可權向使用者請求訪問通訊錄或者發起定位。
為了儘可能地給使用者最好的安卓裝置使用體驗,Google Play 應用商店將要求 Apps 的 Target API 設定為最新版本:
-
2018 年 8 月:要求新發布 Apps 的 Target API 設為 26(Android 8.0)或更高版本;
-
2018 年 11 月:現有 Apps 釋出新版本時也需要設定 Target API 設為 26(Android 8.0)或更高版本;
-
2019 年開始:隨著每年 Android 新版本 API 的釋出,新上線和更新現有 Apps 時,Target API 都需要設定為對應的新版 API 或更高版本;
當然,對於已經存在並且不需要更新的應用不受此影響。對於 minSdkVersion 屬性,開發人員根據自己的需要自由設定。Google 鼓勵開發者盡向後相容。
支援 64-bit 架構
Android 5.0 開始引入支援 64 位 CPU 架構。如今,已經有超過 40% 的安卓裝置支援 64 位架構,同時也保留著 32 位的相容性。對於那些使用原生依賴庫的應用,在額外引入的暫存器和新指令的作用下,64 位的程式碼明顯有著更好的效能。
在未來安卓裝置僅僅支援 64 位架構的期待下,Play 商店要求使用本地庫的新發布 Apps 或者現有 Apps 的新版本必須提供 64 位版本,而 32 位版本則可以按需支援。開發者可以選擇使用一個 APK 或者多 APKs 釋出。
Google 也將會支援支援 32 位的應用和裝置。那些不包含本地庫的應用不受此影響。
這項變更將在 2019 年 8 月開始執行。Google 也會在官網部落格上持續發文提醒,包括告知開發者使用 64 位本地庫的好處。
增加安全性後設資料
明年開始,Google Play 商店將會在每個 APK 上面增加少量安全性後設資料。當你下載安裝應用時,你會發現一個表明產品真實性的標籤或者角標之類的東西。
對於這一點,開發者或者使用者不需要做任何事情。Play 商店會自動新增額外的少許後設資料到 APK 簽名模組,並且不影響應用的任何功能。除了加強 Play 商店手機應用生態系統完整性,這些後設資料資訊將來也會給開發者帶來更多的分發機會,幫助更多人能夠及時更新版本。
最後的寄語
安卓系統自誕生以來,在安全和效能方面,一直被使用者詬病。尤其對比移動市場領域的 iOS 系統,差異明顯。但是,我們能夠看出 Google 一直在為此付諸努力,在一年一度的 I/O 大會上,總是能帶來質的飛躍。Google 一直在幫助開發人員提升應用質量和使用者體驗,也一直很有信心,2018 年和更遙遠的未來,安卓生態系統定將日趨茁壯。
這真是一個極好的訊息。
訊息來源:Android Developers Blog
關於我:亦楓,部落格地址:yifeng.studio/,新浪微博:IT亦楓
微信掃描二維碼,歡迎關注我的個人公眾號:安卓筆記俠
不僅分享我的原創技術文章,還有程式設計師的職場遐想