Kotlin文件无法使用R.java

Sar*_*ity 5 android kotlin android-studio build.gradle kotlin-interop

我在相应的资源文件夹中创建了一个新的布局文件.同步后,当我尝试引用布局文件,即R.layout.activity_test时,R是一个"未解析的符号".当我尝试在AS中构建时,它失败了.

有趣的是,如果我手动导入R文件并在代码中使用它,当我尝试在命令行上构建时,它可以工作.另一件事是当我尝试使用Java文件中的R访问布局文件时,这也有效.所以我知道R.java正在生成.

我尝试创建一个全新的项目,R可以在Kotlin文件中访问.

这里有什么问题?

我尝试过的事情:

  • 清理然后建成

  • 无效的缓存/重新启动

  • 吹掉.gradle文件夹并重新创建索引

其他信息:

  • AS v3.0.1

  • 试过Kotlin v1.1.2-4和v1.1.60

  • Gradle v4.2.1

  • Gradle Plugin v3.0.0

Mis*_*agh 0

在应用程序模块的android部分下添加以下内容:

android {
  ...
  sourceSets {
    main.java.srcDirs += 'src/main/kotlin'
  }
}
Run Code Online (Sandbox Code Playgroud)

这让 Android Studio 知道 kotlin 目录是源根目录,因此当项目模型加载到 IDE 中时,它将被正确识别。或者,您可以将 Kotlin 类放入 Java 源目录中,通常位于src/main/java.


https://kotlinlang.org/docs/reference/using-gradle.html#android-studio