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

由 API 26 -> API 24 

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

 

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

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

所以會報出如下 Error

Call requires API level 26 (current min is 24)

 

我們試著用 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.

 

代表有些訊息沒 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))

 

文章標籤
全站熱搜
創作者介紹
創作者 顏澤偉 的頭像
顏澤偉

Willy's Fish教學筆記』

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