2019年5月1日起安卓應用應基於API 26開發,那么API等級是啥?
轉 https://www.ithome.com/html/android/372234.htm據泰爾終端實驗室公眾微信號報道,2018年7月18日上午,電信終端產業協會(TAF)發布《移動應用軟件高API等級預置與分發自律公約》(以下簡稱《公約》)。OPPO、華為、百度、360、阿里、小米、vivo、騰訊作為發起單位,共同簽署《公約》,並發出聯合倡議:號召廣大移動應用軟件預置與分發服務提供者,拒絕上架並及時更新低API等級的應用,共同維護用戶權益。
《公約》規定,自2019年5月1日起,新上架和預置應用應基於Android 8.0(API等級26)及以上開發。自2019年8月1日起,現有應用的更新應基於Android 8.0(API等級26)及以上開發。八家廠商在簽約儀式上鄭重承諾:將嚴格遵守和履行自律公約規定,拒絕上架和更新低API等級應用。
可能大家對《公約》中所提到的“API等級”這個概念不是很熟悉,那么我們就來聊聊它究竟是一個什么東西。
一、“API”是什么
API的全稱是“Application Programming Interface”,中文釋義為“應用程序編程接口”。在手機或者電腦等的系統中,API是一些預先定義的函數,通過調用這些函數,能夠讓程序得以使用設備自身的硬件或軟件。比如,在用微信進行視頻聊天的時候,微信就可以使用手機的前置攝像頭。使用API接口可以不用訪問底層的源代碼,也不用理解內部的工作機制和細節,當訪問某些軟硬件的時候,直接通過調用要使用的API接口函數就能完成操作,大大提高程序員的工作效率。
二、“API等級26”是什么
知道了API的作用之后,我們就來了解一下什么是“API等級26”。在安卓系統中,系統提供了一個框架API,應用可利用它與底層安卓系統進行交互。每個版本的安卓平台都會進行框架API的更新,安卓1.0所對應的API等級為1,其后每個版本的安卓系統都會對API等級進行升級,以整數的形式往后累加。“API等級26”就是最新版本的安卓8.0系統的API等級。
▲安卓版本及其對應的API等級
三、“API等級”的更新原則
每次對API等級進行升級,都會包含之前系統的API,大多數API更改都是新增更改,會引入新功能或替代功能。在API的某些部分得到升級時,舊版的被替換部分將被棄用,但不會被移除,這樣現有應用仍可使用它們。在極少數情況下,可能會修改或移除API的某些部分,但通常只有在為了確保API穩健性以及應用或系統安全性時,才需要進行此類更改。所有其他來自早期修訂版的API部分都將結轉,不做任何修改。
四、“API等級”的更新會帶來怎樣的好處
API等級的更新是谷歌公司針對系統安全以及易用性方面的改進。通過更新系統,可以增加一些功能,也可以修補一些漏洞,對於新增的功能,安卓會增加新功能的API接口,以供開發者運用到自己的應用中。比如安卓8.0以后新增的單攝虛化功能,這項功能也會提供相應的API接口,開發者可以把這項新功能加入到自己的應用中去。再比如,在安卓8.0的系統中,谷歌公司封堵了一些漏洞病毒,開發者就可以遵循新的框架API進行軟件的適配,從而規避這些風險。
▲安卓8.0系統
五、對《公約》中規定的理解
API等級較低的應用,一是在權限管理方面存在用戶可知而不可控的問題,二是存在可規避系統安全機制的漏洞,容易造成用戶個人信息泄漏,引發大量終端安全和個人信息保護風險。《公約》中規定,自2019年5月1日起,新上架和預置應用應基於Android 8.0(API等級26)及以上開發。自2019年8月1日起,現有應用的更新應基於Android 8.0(API等級26)及以上開發。這樣做就會保障用戶的權益,大大減少用戶隱私的泄漏風險,使得我們的手機更加安全。
現在大家明白了API等級的概念以及《公約》的執行會給我們帶來的好處,未來手機應用在安全性方面勢必會得到提高。《公約》的執行對我們的來說是一件好事,但究竟能不能達到我們想要的效果,我們拭目以待。
Android各版本代號/版本號/API級別
代號 |
版本號 |
API/NDK級別 |
發布時間 |
|
- |
O |
8.0 |
API level 26 |
2017-3-21 |
牛軋糖 |
Nougat |
7.1.1 |
API level 25 |
2016-10 |
7.0 |
API level 24 |
2016-08-22 |
||
棉花糖 |
Marshmallow |
6.0.1 |
API level 23 |
2015-12 |
6 |
2015-10-05 |
|||
棒棒糖 |
Lollipop |
5.1.1 |
API level 22 |
2015-04-21 |
5.1 |
2015-03-09 |
|||
5.0.2 |
API level 21 |
2014-12-19 |
||
5.0.1 |
2014-12-02 |
|||
5 |
2014-11-12 |
|||
奇巧 |
KitKat |
4.4W.2 |
API level 20 |
2014-10-21 |
4.4W.1 |
2014-09-06 |
|||
4.4W |
2014-06-25 |
|||
4.4.4 |
API level 19 |
2014-06-19 |
||
4.4.3 |
2014-06-02 |
|||
4.4.2 |
2013-12-09 |
|||
4.4.1 |
2013-12-05 |
|||
4.4 |
2013-10-31 |
|||
果凍豆 |
Jelly Bean |
4.3.1 |
API level 18 |
2013-10-03 |
4.3 |
2013-07-24 |
|||
4.2.2 |
API level 17 |
2013-02-11 |
||
4.2.1 |
2012-11-27 |
|||
4.2 |
2012-11-13 |
|||
4.1.2 |
API level 16 |
2012-10-09 |
||
4.1.1 |
2012-07-11 |
|||
4.1 |
2012-07-09 |
|||
冰激凌三明治 |
Ice Cream Sandwich |
4.0.4 |
API level 15 |
2012-03-29 |
4.0.3 |
2011-12-16 |
|||
4.0.2 |
API level 14 |
2011-11-28 |
||
4.0.1 |
2011-10-21 |
|||
4 |
2011-10-18 |
|||
蜂巢 |
Honeycomb |
3.2.6 |
API level 13 |
2012-02 |
3.2.5 |
2012-01 |
|||
3.2.4 |
2011-12 |
|||
3.2.3 |
- |
|||
3.2.2 |
- |
|||
3.2.1 |
- |
|||
3.2 |
2011-07-15 |
|||
3.1 |
API level 12 |
2011-05-10 |
||
3 |
API level 11 |
2011-02-22 |
||
姜餅 |
Gingerbread |
2.3.7 |
API level 10 |
2011-09-21 |
2.3.6 |
2011-09-02 |
|||
2.3.5 |
2011-07-25 |
|||
2.3.4 |
2011-04-28 |
|||
2.3.3 |
2011-02-09 |
|||
2.3.2 |
API level 9 |
2011-01 |
||
2.3.1 |
2010-12 |
|||
2.3 |
2010-12-06 |
|||
凍酸奶 |
Froyo |
2.2.3 |
API level 8 |
2011-11-21 |
2.2.2 |
2011-01-22 |
|||
2.2.1 |
2011-01-18 |
|||
2.2 |
2010-05-20 |
|||
泡芙 |
Eclair |
2.1 |
API level 7 |
2010-01-12 |
2.0.1 |
API level 6 |
2009-12-03 |
||
2 |
API level 5 |
2009-10-26 |
||
甜甜圈 |
Donut |
1.6 |
API level 4 |
2009-09-15 |
紙杯蛋糕 |
Cupcake |
1.5 |
API level 3 |
2009-04-27 |
- |
- |
1.1 |
API level 2 |
2009-02-09 |
- |
- |
1 |
API level 1 |
2008-09-23 |