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