close

因為業務需要,今天做了 Android 向下相容的改動

由 API 26 -> API 24 

從支援 Android 8.0 向下擴充到 Android 7.0

 

接下來,當我們向下改動之後

會有一些 code 必需做版本的處理吧?

所以會報出如下 Error

Call requires API level 26 (current min is 24)

截圖 2020-09-14 下午12.20.58

 

我們試著用 Android Studio build app 出來試

結果竟然是 success 的

但明明有 紅色波浪 的錯誤提示

執到到相關的 code 也會閃退呀

 

其實 Android Studio 沒有特別設定的話,檢查是比較寬鬆的

那我們怎麼檢查 code 裡面全部的 error 呢?

這時候可以用 lint command line

打開終端 terminal 輸入其中一項指令

./gradlew lint

./gradlew lint --warning-mode all

 

這樣一來 Gradle 就會去檢查所有的問題

 

其實用 ./gradlew lint 就可以檢查了

那為什麼我們還要加後面的參數呢?

若遇到下列錯誤

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.

Use '--warning-mode all' to show the individual deprecation warnings.

截圖 2020-09-14 下午12.35.08

 

代表有些訊息沒 show 出來

需要加上 --warning-mode all

才能 show 出完整訊息

 

最後,若有問題的話

則會如下顯示出來給我們知道

 ContextExt.kt:51:  Error: Call requires API level 26 (current min is 24): android.os.VibrationEffect#createOneShot [NewApi]
      vibrator.vibrate(VibrationEffect.createOneShot(milliseconds, amplitude))

 


arrow
arrow

    顏澤偉 發表在 痞客邦 留言(0) 人氣()