Android SDK Version簡介

我們在android工程中經常會遇見如下幾個SDK Version——minSdkVersion、targetSdkVersion和maxSdkVersion。根據名字看是顯而易見的含義,但是往往越顯而易見,越不會被重視。知道個似是而非,大概意思就差不多。因此,我覺得有必要記下一筆,講講這幾個屬性在android裏到底是什麼意思。

minSdkVersion

指的是當前APP可以安裝的系統最低版本。如果系統API低於這個版本,將無法安裝。這個值是必須要申明的,沒有指定的話會默認是從API Level =1開始兼容,那麼當我們使用了高版本的API,卻被用戶安裝到了低版本的手機上的時候就會因爲找不到API而crash。

targetSdkVersion

指的是當前APP最適合運行的版本,沒有配置的話默認值是minSdkVersion。比如我們的apk發佈後,安裝到android新發布的新版本上,新老版本可能在UI和API上有細微差別,或者有些API廢棄,這種情況下,指定targetSdkVersion,就會保留當前指定版本的行爲。

maxSdkVersion

指的是apk能夠安裝的最高版本,一般是希望能夠支持最新版的系統,因此不推薦申明。

和uses-permission的關係

這個關係是經常被忽略的。主要是Android系統版本更新迭代過程中,很多權限必須在指定版本上使用,當然目前很大一部分檢查和Fixing由編譯器幫助完成。在一次全編譯後,會將所有的AndroidManifest進行合併,這個過程會產生兩個文件: 

\build\outputs\logs\manifest-merger-debug-report.txt 
\build\intermediates\manifests\full\debug\ AndroidManifest.xml 
第一個文件會說明爲什麼會產生某一個uses-permission,第二個是合併後APP實際安裝時候需要的所有uses-permission

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章