Tuesday, December 20, 2016

build.gradle 入面唔同既 version

每次再玩番 android program, 都會遇到 version 變左既問題.
先唔講話某 d API version 入面既功能唔同 (呢樣都好正常), 最煩係 build.gradle 入面既 version.

可能小弟唔係成日玩, 次次開番, 如果重裝左 Android studio, 直開舊 program, d version 多數唔 work.

最常出問題就係:

  • compileSdkVersion
  • buildToolsVersion

點解?  因為呢兩個係跟 SDK 既, 而無玩一排, 鏟左重裝, SDK 更新哂.
再開個舊 program, 原本設定既版本都唔會預裝, 自然無左.

解決方案, 唔係裝番舊既 SDK tools, 就係更新個 build.gradle.
人都係向前看好, 既然有新既 SDK, 除非唔夾, 否則都係改番個 build.gradle 用新喇.

有樣野比較煩, 次次都唔係好肯定, compileSdkVersion 同 buildToolsVersion 可以點搵.

首先, compileSdkVersion, 就係話係用邊個版本既 skd 去 compile, 注意, 呢個同你將來可以執行既版本又唔同既, 只係用黎 compile.  只要佢唔係早過你將來用黎執行既版本就可以.
比如你諗住部野要在 5.0 Lollipop 既機行, 你就唔可能用 4.4 KitKat 既 SDK 去 compile 喇.

另一樣要注意, SdkVersion 唔係 android 既 verison, 佢要既係對應既 API Level (唉...一時 version, 一時 level, google 真係亂).

要搵你可以用既 compileSdkVersion, 就要打開 Android SDK 了.

就咁睇, 未必可以直接見到可以用邊個 API Level, 要 check 右下 "Show Package Details" 至可以睇到.

呢度見到, Android SDK Platform 25 係 Installed 既, 即係 compileSdkVersion 可以用 25 了.

之後再搵埋 buildToolsVersion, 就要轉去睇 SDK Tools 果版了.

嘩...好多數字都係 Installed 既,  25.0.3 定係 25.2.4 呢?  兩個都唔係, 家陣要搵既係 buildToolsVersion, 更係睇 Build-Tools 喇...咦, 無 version 既...又要 "Show Package Details".

見到了, 有 23.0.1 又有 23.0.2....不過, 呢度同 API Level 既顯示唔同, 佢係舊既排頂的, 所以一定要拉落去睇下.

最新已經裝左 25.0.2 了.

既然有新就用新, 基於以上既圖, 結論係:

    compileSdkVersion 25
    buildToolsVersion "25.0.2"

至於 minSdkVersion 同 targetSdkVersion, 就要睇你想比乜野機用, 再根據番 Android 版本對應既 API Level 去 set 番就得了.

No comments:

Post a Comment