在Android Studio中将"java"目录重命名为"kotlin"

Whe*_*der 39 java android kotlin android-gradle-plugin

我的android项目在Kotlin中100%编写,我想将java目录重命名为kotlin以保持一致.我补充道

sourceSets {main.java.srcDirs + ='src/main/kotlin'}

gradle并重命名目录.所有编译和工作正常.

唯一的问题是,当我在项目选项卡中时,在"Android"视图中,该目录仍然被命名为"java"(如果我切换到下拉列表中的项目视图,我确实看到"kotlin"tho).

我错过了什么?

Vad*_*ovs 12

我有同样的.它只发生在"Android"视图中.当我在Finder中导航到该文件夹​​时,它被命名为'kotlin'.看起来这是Android工作室中的一个错误. 在此输入图像描述

  • 我有同样的。“ Android”显示项目的方式显示“ java”而不是kotlin。 (2认同)

kro*_*ama 12

更新 (2)

如果您正在使用

安卓 Studio 北极狐2020.3.1 Beta 2

Gradle 插件版本7.0.0-beta02

你很高兴,可以把你的代码放在src/main/kotlin. Android Studiokotlin在文件树中显示它。不需要将目录添加到sourceSet如下所示。

Android Studio 北极狐文件树


更新 (1)

Kotlin 终于来到了 AndroidSourceSet。如果您使用最新Android Gradle Plugin版本7.0 alpha,则可以使用:

android.sourceSets.all {
    kotlin.srcDir("src/$name/kotlin")
}
Run Code Online (Sandbox Code Playgroud)

这在 Android Studio 中运行良好,3.6.2应该是最通用的解决方案,直到AndroidSourceSet开始直接支持 Kotlin。只需在您的末尾添加以下代码段app/build.gradle[.kts]

android.sourceSets.all {
    java.srcDir("src/$name/kotlin")
}
Run Code Online (Sandbox Code Playgroud)


Iar*_*vyi 6

在 Linux 上

在你的模块 gradle 文件中,例如:app.gradle

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

  • 这是我在 Mac 上使用的解决方案,它有效。也许您需要在 Windows 中使用反斜杠。 (2认同)
  • 它需要位于 `android { }` 块内 (2认同)

Per*_*den 6

Android Studio 3.6 具有相同的行为。这就是我在 app/build.gradle 中修复它的方法:

// Register kotlin files
android.sourceSets {
     androidTest.java.srcDirs += "src/androidTest/kotlin"
     debug.java.srcDirs += "src/debug/kotlin"
     main.java.srcDirs += "src/main/kotlin"
     test.java.srcDirs += "src/test/kotlin"
}
Run Code Online (Sandbox Code Playgroud)


小智 4

我认为Android Studio有这个功能。默认情况下,包含源代码的文件夹被标记为“java”。即使你在“src/main”文件夹中包含“kotlin”和“java”。