【问题标题】:Exclude Kotlin files from gradle build in Android Studio从 Android Studio 中的 gradle 构建中排除 Kotlin 文件
【发布时间】:2019-04-02 09:08:20
【问题描述】:

我想从 Android Studio 的 gradle 构建中排除文件夹中的 Kotlin 文件。只要文件是 .java 文件,这工作就很好,但是在将它们转换为 Kotlin 时,排除命令会忽略文件夹中的 Kotlin 文件。

在我的应用程序模块build.gradle 文件中使用以下内容来排除文件夹:

 sourceSets {
    main {
        java {
            exclude '**/folderToExclude'
        }
    }
}

我已经检查了以下链接,但建议的解决方案不起作用:

How to exclude kotlin files from compiling with gradle

【问题讨论】:

  • “正确”的方式是为 AGP 和/或 Kotlin 编译器提交功能请求。
  • 我看不出这个问题与 How to exclude kotlin files from compiling with gradle 有何不同。 The suggested solution didn't work 本身并不是提出单独问题的理由。如果您对答案不满意,您可以为问题投票、添加 cmets、提出赏金或通过其他渠道传播信息。

标签: android gradle kotlin


【解决方案1】:

试试下面:

exclude '**/*.kt'

它将排除所有扩展名为 .kt 的文件

【讨论】:

  • 感谢您的回复,但很遗憾这不起作用。
  • 我认为你写的文件名是错误的检查文件名
【解决方案2】:

试试下面,它可以在我的机器上运行。

android {
    ...

    sourceSets {
        main {
            java {
                exclude '**/your_file_1.kt',
                        '**/your_file_2.kt',
                        '**/your_file_3.kt',
                        '**/your_file_4.kt',
                        '**/your_file_5.kt'
            }
        }
    }

    ...
}

【讨论】:

  • 感谢您的回复。这对我也不起作用。我排除的 java 文件在代码中访问它们时会引发 ClassNotFoundException,但 Kotlin 文件并非如此
【解决方案3】:

您可以排除匹配模式的路径,例如:

android {
    sourceSets {
        main {
            java {
                exclude '**/TestExcludeClass.java'
            }

            kotlin {
                exclude '**/TestExcludeKotlinClass.kt'
            }
        }
    }
}

【讨论】:

    猜你喜欢
    • 2017-06-13
    • 1970-01-01
    • 2013-05-18
    • 1970-01-01
    • 1970-01-01
    • 2019-06-19
    • 2015-04-26
    • 2015-05-10
    相关资源
    最近更新 更多