我正在为 Android Studio 开发一个 gradle 插件。这是我的问题如何使用 Gradle API 获取 Android Studio 主 SourceSet?
我想用java源目录做一些复制工作。 在问这个问题之前,我发现了一些有用但不起作用的东西。
SourceSet main = project.getConvention().getPlugin(JavaPluginConvention.class).getSourceSets().getByName(SourceSet.MAIN_SOURCE_SET_NAME)
我收到此错误消息
由以下原因引起:org.gradle.api.UnknownDomainObjectException:未找到名称为“main”的 SourceSet。
最佳答案
首先,该代码不起作用,因为它仅适用于带有 java gradle 插件的 java 项目。所以我用谷歌搜索并找到了一些解决办法。 这是我的代码。
project.afterEvaluate {
...
def sets;
if (Utils.is140orAbove()) {
sets = project.android.sourceSets;
} else {
sets = project.android.sourceSetsContainer;
}
sets.all { AndroidSourceSet sourceSet ->
if(sourceSet.name.startsWith("main"))
for(File file:sourceSet.java.getSrcDirs())
if(file.exists()) {
mainSource = file;
break;
}
}
...
}
我的代码并不漂亮。等待更好的答案。
关于gradle - 如何使用 Gradle API 获取 Android Studio 主 SourceSet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37159935/