Тестирование на Android-модуле класса Kotlin завершилось неудачей с «не может найти класс символов …»

Недавно я добавил плагин Kotlin в сборку своего Android-приложения, и теперь я хочу протестировать класс Kotlin в InstrumentationTestCase.

IntelliJ / Android Studio видит класс в редакторе, и кажется, что класс компилируется при запуске приложения, но когда я запускаю gradlew assembleTest он терпит неудачу с «не может найти символ [имя класса]».

В моем build.gradle я добавил папку kotlin как srcDir

 sourceSets { main { manifest.srcFile 'src/main/AndroidManifest.xml' java.srcDirs += 'src/main/kotlin' } } 

Любой совет?

Изменить : проблема заключалась в конфликте между плагином Kotlin и Retrolambda и теперь разрешена.

Я из проекта Котлин. Не могли бы вы ответить на несколько вопросов, чтобы помочь мне воспроизвести вашу проблему? Вы запускаете gradlew assembleTest из IDE или из командной строки? У вас есть kotlin-stdlib в зависимостях?

 dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" } 

Не могли бы вы предоставить нам свой проект? Я создал проблему в вашем трекере, так что будет здорово увидеть ваши ответы здесь http://youtrack.jetbrains.com/issue/KT-6015

Хотя вопрос рассматривается в другом ответе, это временное решение. Добавьте это в свой build.gradle:

 afterEvaluate { project -> project.tasks.findAll { it.name.startsWith('compile') && it.name.endsWith('DebugTestJava') }.each { Task task -> task.dependsOn copyKotlinToTest } } task copyKotlinToTest(type: Copy) { from new File(buildDir, 'tmp/kotlin-classes/debug') into new File(buildDir, 'tmp/kotlin-classes/debugTest') } 

Если у вас есть варианты сборки, вам необходимо настроить имена папок.