iT邦幫忙

2023 iThome 鐵人賽

DAY 5
1
Mobile Development

[Android] 怎麼蓋地基?論 build.gradle 與它的快樂夥伴們系列 第 5

[Day 5] 決定裝置相容性的 compileSdk、targetSdk 和 minSdk

  • 分享至 

  • xImage
  •  

Day 2 有提到 compileSdkVersion 可以用 compileSdk 替換。

替換後,我隨即把版本號碼從 31 提升至 33。
依序按下 Sync Now 、Run App 後,竟然構建成功了!

既然沒有其他構建錯誤,compileSdkVersion 也順利的升到 33。我們能就此收工了嗎?
事情絕對不是像我這位 Junior 想得如此簡單。

為了符合 Day 1 介紹的 Google Play Store 目標 API 級別政策,我們需要併同 targetSdkVersion 一起升級。另外,趁這機會也來一起檢視 minSdkVersion 吧。

  • compileSdkVersion : 指定用來編譯 project 的 API 級別(官方文件)
  • targetSdkVersion : 執行應用程式的目標 API 級別(官方文件)。Android 作業系統會使用此參數認知到你的應用程式已針對指定的 targetSdkVersion 版號通過測試,且系統未啟用任何相容性措施使該應用程式兼容 targetSdkVersion 版號。
  • minSdkVersion : 應用程式執行所需的最低 API 級別(官方文件)。如果 Android 作業系統低於此版號,則會禁止使用者安裝此應用程式。

如果寫成比較式,會是下列結果

minSdkVersion <= targetSdkVersion <= compileSdkVersion

(資料來源:Differences between CompileSDK,MinSDK and TargetSDK Version)

由於 compileSdkVersion 的用途是作為 project 的編譯版本,所以設定版號時,要留意自己的編譯器有沒有安裝到對應的 SDK 版本。查看方式如下:
https://ithelp.ithome.com.tw/upload/images/20230919/20151956luwsaD75lU.png

https://ithelp.ithome.com.tw/upload/images/20230919/20151956ivSkfqP5RU.png


上一篇
[Day 4] 多出來的 build.gradle 要怎麼處理?
下一篇
[Day 6] 兩個 build.gradle,跑得快
系列文
[Android] 怎麼蓋地基?論 build.gradle 與它的快樂夥伴們30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言