我们都知道,打包时,去掉Java代码的方式是通过配置exclude,就可以实现了, 例如:
main {
java.srcDirs = ['src']
java.excludes = ['com/android/settings/notification/app/AppNotificationSettings.java',
'com/android/settings/notification/app/ChannelNotificationSettings.java',
'com/android/settings/password/ConfirmLockPassword.java']
}
但是针对kotlin代码,经过实操,完全没有效果。 经过多方查阅,如果想去掉指定的代码,可以使用:
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile // 必须导包。
tasks.withType(KotlinCompile).all {
kotlinOptions {
exclude '**/tinyPanel/*.kt'
}
}
这个方式就可以去掉tinyPanel目录下所有的kotlin文件,但是保留java文件或其他。
-
tasks.withType(KotlinCompile).all { ... }:这行代码表示对所有KotlinCompile类型的任务应用后面的配置块。 -
kotlinOptions { ... }:进入kotlinOptions配置块,设置Kotlin编译器选项。 -
exclude '**/mytest/*.kt':配置编译器排除掉所有匹配**/mytest/*.kt模式的文件。**/mytest/*.kt表示任何路径下的mytest目录中的所有.kt文件。