Vladimir "Dair" Lebedev-Schmidthof (dair_spb) wrote,
Vladimir "Dair" Lebedev-Schmidthof
dair_spb

Android Studio как обычно 2

ВНЕЗАПНО Студия начала писать "Calls to static methods in Java interfaces are prohibited in JVM target 1.6"
Окей, гугл... Нахожу баг в багтрекере Студии. Незакрытый.

Ладно. Нахожу workaround.
Надо в build.grable прописать
    compileKotlin {
        kotlinOptions {
            jvmTarget = '1.8'
        }
    }


Копипащу это в build.gradle
Тот ругается, что не знает что такое compileKotlin

Could not find method compileKotlin() for arguments [build_llo3ytujxrcpr775k4oeuz1h$_run_closure2@73d42eac] on project ':app'

С грехом пополам нахожу, что, оказывается, надо какую-то непонятную конструкцию внутри build.gradle воротить, типа так:
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
    kotlinOptions {
        jvmTarget = '1.8'
    }
}


С ней gradle уже не ругается, НО сборка начинает ругаться по-другому:

error: static interface methods are not supported in -source 1.7
(use -source 8 or higher to enable static interface methods)


Где надо использовать этот "-source 8"???

Update:
Нашёл, конечно же.
В Студии в настройках проекта есть Source compatibility и Target compatibility. Выставил их в 1.8, заработало. Уря.
Это в build.gradle получается как такой раздел внутри раздела android
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }


Но вот такая дребедень с этим Андроидом постоянно :-(
Tags: android, software, software development
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 2 comments