compileSdkVersion、buildeToolVersion、minSdkVersion、targetSdkVersion的理解

compileSdkVersion
只會作用在編譯階段,編譯的時候使用哪個版本的SDK,一般我們都會設置成目前市面上的最高版本,從而更早的採用一些新特性新方法等。
需要注意的是v4、v7、cardview等兼容包的版本要和compileSdkVersion的保持一致,比如我們compileSdkVersion = 26,那麼V4,v7的版本也要相應的是26.xx.xx,首位的26必須一致,後兩位沒有要求。
buildeToolVersion
是你構建工具的版本,其中包括了打包工具aapt、dx等等。這個工具的目錄位於..your_sdk_path/build-tools/XX.XX.XX,
Android Studio可以通過SDK Manager --> SDK Tools下載。
buildeToolVersion版本需要>=compileSdkVersion版本

minSdkVersion
這個比較好理解,例如minSdkVersion是21(5.0),則這個apk只能運行在5.0系統或者以上,5.0以下的系統運行不了。


targetSdkVersion
targetSdkVersion 是 Android 系統提供前向兼容的主要手段(即:新版本SDK手機兼容舊版本SDK工程)
例如你的apk的targetSdkVersion是22(Android5.1),然後這個apk安裝到Android6.0或更高系統的手機上,則系統會保留你在Android5.1上的特性,不會使用高版本系統的特性,例如不會對你的apk採用運行時權限的功能。
也就是說在高版本的手機上只保留你targetSDK的特性,高本版手機的新增特性不會作用到你的apk上。系統會根據targetSdkVersion的值決定採用哪個版本的API,這也是市面上的新系統的手機一般來說能運行所有已存在的Android應用的原因(向下兼容)。

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