NewApi lint отличается поведением - PullRequest
0 голосов
/ 29 марта 2020

Код, где минимальный уровень API равен 21:

interface SampleInterface {

    fun interfaceFun() {
        val value = HashMap<String, String>().getOrDefault("a", "b")
    }

    companion object {
        @JvmStatic
        fun companionFun() {

        }
    }
}

В среде IDE видны две проблемы: enter image description here enter image description here

  1. getOrDefault требуется уровень API 24
  2. @JvmStatic для сопутствующего метода также требуется уровень API 24

./gradlew lintDebug прерывает сборку только для выпуска 1, но не для выпуска 2 . Какая разница?

1 Ответ

1 голос
/ 29 марта 2020

Согласно Поддерживаемым языковым функциям Java 8 и диаграмме API , методы интерфейса по умолчанию и stati c поддерживаются на всех уровнях API Android.

...