compileSdkVersion ... 傻傻分不清楚

compileSdkVersion, minSdkVersion 和 targetSdkVersion 傻傻分不清楚







傻傻分不清楚 compileSdkVersion, minSdkVersion 和 targetSdkVersion

compileSdkVersion

1.compileSdkVersion 是告訴 Gradle 決定用哪一個 Android SDK 版本,來編譯你的應用程式。
2.修改 compileSdkVersion 不會修改程式運作行為,但有可能會出新的編譯警告或錯誤,建議修復這些警告。
3.官方強烈推薦使用最新的SDK進行編譯(避免開發中的應用程式,使用到棄用的API,也可以為使用新的API做好準備)
4.使用最新發布的Support Library 就需要使用最新的SDK編譯(至少大版本號需要一致,如23.1.1的Support Library,compileSdkVersion就必需至少是23)。

minSdkVersion

1.minSdkVersion是應用程式可以運行版本的最低要求,是 Google Play商店用來判斷用戶設備是否可以安裝此應用的指標之一。
2.Support Library 或 Google Play services,可能有他們自己的minSdkVersion 。你的應用程式設置的minSdkVersion必需大於等於這些Library的minSdkVersion 。 (例如有三個Library 分別是 4, 7和9那麼你的minSdkVersion 必需至少是9才能使用它們。)
3.minSdkVersion Android分佈統計,它提供了最近7天所有訪問Google Play的設備訊息。
4.其中提醒的是,在14億設備中佔的0.7% 也是個不小的數字。

targetSdkVersion

  1. targetSdkVersion是Android提供向前相容最主要依據(舊版本能否適應新版本的應用)
  2. targetSdkVersion 更改務必做全面性的測試。
綜合上面來看三者關係為:
minSdkVersion <= targetSdkVersion <= compileSdkVersion
理想上,在穩定狀態下三者的關係應該為:
minSdkVersion (lowest possible) <= 
    targetSdkVersion == compileSdkVersion (latest SDK)
用最低的minSdkVersion 來含蓋最大的使用族群,用最新的SDK設置target和compile 來獲得最好的外觀和行為

相關參考資料:

這個網誌中的熱門文章

最新入門零基礎 Java 教學【從零開始學 Java 程式設計】Java教學課程目錄 (IntelliJ IDEA 開發教學)

2023 最新入門零基礎 Kotlin教學【從零開始學 Kotlin 程式設計】Kotlin 教學課程目錄 (Android Kotlin, IntelliJ IDEA, Android Studio, Android APP 開發教學)

nano 文字編輯器

2022 最新入門零基礎 Flutter教學 【Flutter 程式設計入門實戰 30 天】Flutter 教學課程目錄 (IntelliJ IDEA 開發教學)

Android Studio 歷代版本下載點