1. 背景
從 Android 6.0 開始,Google 開始逐漸收緊 Android 平臺的開放性,並在進一步提升應用的安全性、效能以及隱私保護方面做出了許多努力。這一點,從 Google 在之後的 Android 7.0 和 8.0 上不斷作出的調整就可以看出。
但事實上,開發者在開發過程中,迫於開發及維護成本,並沒有及時響應並針對 Google 的動作作出調整,使得 Google 在實現讓Android 裝置更安全、更高效的願景上顯得力不從心,這一點是 Google 所不願意看到的。
於是,Google 終於按捺不住,在最近出臺了新的政策,提出了開發者必須做出的三大變更,並明確了變更的時間點(也就是 deadline),可謂是強硬了一把!
2. 三大變更
下面是 Google 推出的三大變更:
- 從2018年下半年開始,強制要求 targetSdkVersion
- 2019年8月前支援64位的Android架構;
- 在2018年初為APK新增安全性後設資料;
後兩條變更對於開發者的影響還是比較小或者不那麼迫切的,所以不是我今天要說得重點,感興趣的可以前往 Google 開發者部落格瞭解更多(詳見文末連結)。
下面,我們著重看一下第一條變更,坐穩了別慌!
3. 重點解讀:targetSdkVersion
按照 Google 的說法,在2018年8月以後釋出的新應用,以及2018年11月以後更新的應用,必須以最新的 Android API 級別作為目標。也就是說,最晚到 2018年11月(釋出新應用是8月),你在Google Play上的應用,其 targetSdkVersion
必須為 Google 釋出的最新 API 級別,目前為 26(Android 8.0)。
同時,從2019年起,在每個Android版本釋出後的一年內,所有新的應用程式和應用程式更新, targetSdkVersion 都必須跟上或更高。
根據在讀者群中收集到的反饋,大家專案中的 targetSdkVersion
普遍還停留在 22,也就是 Android 6.0以下。我們都知道,造成這一現象的主要原因是 Google 在 6.0 引入了執行時許可權。
在這之後,Google 在 7.0 和 8.0 上做出的一系列安全性、隱私性和效能優化,更是讓眾多開發者望而卻步:一方面,程式作出改動以適配新的 API 是必不可少的工作,但另一方面 ,主要是“限制”了開發者發揮的餘地,不能再...(此處省略1000字)
Google 不可能坐視不管,任由開發者發揮。於是,就有了這一條強硬的政策!以試圖減少應用程式生態系統中的碎片化,確保應用程式的安全性和效能。
4. 我們該怎麼做?
政策我們知道了,該如何做呢?
我們可以將自 Android 6.0 開始到目前,做出的所有變更彙總起來,然後針對涉及到自己應用實際場景的變更作出調整即可。由於涉及的變更點太多了,無法一一列舉,在此貼出官方文件中每一版的變更說明,你可以對照去修改。
5. 總結
剛才一直圍繞在 Google Play 分發有用展開的,國內市場目前確實還沒有這一動向。但並不是說不在 Google Play 分發應用,你就不需要 care 了。一方面,Google 作出如此大的調整,目的也很明確,作為開發者我們有必要追隨 Google 的步伐向前看;另一方面,國內各大市場是否會因此作出相應調整,我們不得而知,所謂有備無患,還是儘早準備的好(前提是你得說服老闆或者Leader...)。
這一次,Google 終於拿出自己的態度,旨在構建更統一的生態,同時帶領開發者擁抱新進的技術,多麼令人興奮!作為一個 Android 開發者,對於 Google 的這一政策,我表示支援,也很欣慰。我只想說:
夠強硬,我喜歡!
最後,歡迎關注我的公眾號,有深度,有態度,更有溫度~