无法使用Android从测试来源访问内部组件

我有以下结构:

build.gradle src - main - AndroidManifest.xml - kotlin - pkg - MyClass.kt (internal class MyClass) - test - kotlin - pkg - MyClassTest.kt 

MyClassTest.kt我引用internal class MyClass


build.gradle

 apply plugin: 'com.android.application' apply plugin: 'kotlin-android' //apply plugin: 'java' //apply plugin: 'kotlin' android { compileSdkVersion 23 buildToolsVersion "23.0.2" sourceSets { main.java.srcDirs += 'src/main/kotlin' test.java.srcDirs += 'src/test/kotlin' } } dependencies { testCompile 'junit:junit:4.12' compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" } buildscript { ext.kotlin_version = '1.0.0-beta-2423' repositories { mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } repositories { mavenCentral() } 

现在当我运行./gradlew test ,我得到以下错误:

无法访问“MyClass”:在“pkg”中是“内部”

然而,当我切换插件使用java而不是com.android.applicationkotlin而不是kotlin-android ,测试成功。

在使用Android插件时,如何从测试资源中引用内部类?

这个问题存在bug KT-9441 (正如@Andrey所指出的那样),现在已经被修复了。 最新的Kotlin及其Gradle插件应该没有问题。