首先來區(qū)別一下在AndroidStudio中橘蜜,幾個不同的SDk設(shè)置信息。
compileSdkVersion:編譯器的SDK版本付呕,隨意改變將會導(dǎo)致編譯時的錯誤计福,其不會包含在APK包中,只會在編譯程序時起作用徽职。
targetSdkVersion:目標(biāo)SDK版本象颖。它是Android應(yīng)用提供向前兼容的主要依據(jù)。它會引用更新的API內(nèi)容姆钉,比如權(quán)限機制说订、消息樣式等抄瓦。
minSdkVersion:可以適配的最低SDK版本。如果說targetSdkVersion是版本上限陶冷,那么它就是版本下限钙姊,表示應(yīng)用運行的最低要求。它是Google Play判斷用戶設(shè)備是否可以安裝某個APP的標(biāo)志之一埂伦。另一方面在開發(fā)過程中煞额,可以提醒程序中引入的庫的合法性。
三種設(shè)置一定要相互協(xié)調(diào)沾谜,才能統(tǒng)籌好應(yīng)用的全局膊毁。適當(dāng)?shù)卣{(diào)用較高的targetSdkVersion和compileSdkVersion將會改善UI界面,提升系統(tǒng)的性能基跑。而適當(dāng)用較低的 minSdkVersion將會匹配更多的用戶人群婚温。
綜合來說,最好的情況可以概括為:
minSdkVersion (lowest possible) <= targetSdkVersion == compileSdkVersion (latest SDK)
還有一點要不得不提到的是buildToolsVersion媳否。
它是SDk中用來程序打包栅螟、初始化應(yīng)用、設(shè)置應(yīng)用的逆日,其包含aapt等主要工具嵌巷。它的版本號必須是大于等于compileSdkVersion的萄凤,否則會拋出“Failed to execute aapt”的異常室抽。
以上的這些小細節(jié)一定要在開發(fā)中注意。