Android 中 compileSdkVersion 、buildToolsVersion 、minSdkVersion 和 targetSdkVersion的含義作用

AndroidStudio中的build.gradle中包含了這些值,compileSdkVersion和minSdkVersion還比較通俗易懂,compileSdkVersion表示當(dāng)前項(xiàng)目的編譯版本,即你想讓AndroidStudio以什么SDK版本去編譯你的項(xiàng)目,minSdkVersion表示當(dāng)前項(xiàng)目支持的最低安卓系統(tǒng)版本,buildToolsVersion則是指構(gòu)建工具的SDK版本,也就是AndroidStudio中設(shè)置的AndroidSDK版本,buildToolsVersion要高于compileSdkVersion版本,這個很好理解,如果編譯版本高于AndroidStudio的SDK版本,那AndroidStudio怎么給項(xiàng)目編譯呢?targetSdkVersion的意思是當(dāng)前app的目標(biāo)sdk版本,可以理解為當(dāng)前app在這個版本是比較穩(wěn)定的,針對這個版本所開發(fā)的,是安卓提供的前向兼容的主要手段,它的作用就是當(dāng)targetSdkVersion為20的app運(yùn)行在系統(tǒng)版本號高于20的手機(jī)系統(tǒng)中,app所執(zhí)行的舊版本api在高版本可能不一樣了,但是安卓為了兼容在系統(tǒng)層會讀取當(dāng)前應(yīng)用的targetSdkVersion,當(dāng)targetSdkVersion版本號低于當(dāng)前版本就會執(zhí)行舊版本的api,不會導(dǎo)致由于系統(tǒng)的原因而讓app運(yùn)行失常。
compileSdkVersion和buildToolsVersion作用于項(xiàng)目的編譯,minSdkVersion和targetSdkVersion控制項(xiàng)目的運(yùn)行版本。一般來說compileSdkVersion設(shè)置為最新的SDK版本比較好,compileSdkVersion的作用就是可以讓我們在編碼的過程中編譯器以最新的SDK的api去要求我們的編碼,它會有最新的一些提醒和異常,compileSdkVersion版本調(diào)高還有一個好處就是當(dāng)我們的項(xiàng)目有其他第三方sdk或者supperLib時compileSdkVersion低于這些庫的編譯版本時就無法編譯打包。targetSdkVersion也是一樣設(shè)置為最新的版本最好,因?yàn)椴恍枰屜到y(tǒng)對app進(jìn)行前向兼容了,同時也可以使用高版本的一些新特性。像我們在開發(fā)過程中如果需要用到高版本的api但是我們又不想去改動項(xiàng)目中的代碼時可以把compileSdkVersion版本調(diào)到新版本,targetSdkVersion保持不變就可以,編譯版本讓你可以調(diào)用高版本的api,但是在高版本運(yùn)行時舊的api由于targetSdkVersion的原因而正常運(yùn)行。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容