gradle - 使用自定义插件任务时缺少android.compileSdkVersion

标签 gradle

我有一个创建javadocs的任务:

Task tCreateJavadocs = addTask(project, 'createJavadocs', Javadoc.class)
tCreateJavadocs.configure{
source = android.sourceSets.main.java.srcDirs
   classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
failOnError false
}

现在,我有一个自定义插件,可以在其中移动所有任务并创建一个库,从而可以将该库应用于所有项目。因此,我也想将此任务移至自定义插件项目。
我在自定义插件项目中编写任务,如下所示:
Task tCreateJavadocs = addTask(project, 'createJavadocs', Javadoc.class)
tCreateJavadocs.configure{
source = project.android.sourceSets.main.java.srcDirs
   classpath += project.files(project.android.getBootClasspath().join(File.pathSeparator))
failOnError false
}

当我使用Android Studio项目对此进行编译时,出现错误“原因:缺少android.compileSdkVersion”。

最佳答案

我会说您尝试使用尚未设置的内容。
在设置compileSdkVersion之后,可以稍后再应用插件,或者可以使用afterEvaluate延迟任务的配置,以使其他配置已经完成,或者如果可能的话,仅在关闭时延迟对问题值的评估。

最后的选择可能是最好的选择。找出哪一行是有问题的,然后看看是否可以给它加一个Closure,因为通常对它们比较懒惰。

关于gradle - 使用自定义插件任务时缺少android.compileSdkVersion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37405640/

相关文章:

gradle - 如何从 gradle 依赖项中检索工件文件和工件元数据?

gradle - 如何添加类路径条目以便 buildSrc 插件可以在 gradle 中找到我的文件?

android - 更新Android Studio 3.0和Gradle版本4.1后发生SweetAlertDialog错误

android - 如何在 Gradle Android 中禁用 dex 日志记录?

java - 构建依赖于 Android 项目 Gradle 的 Java 库

ant - Android Studio:无法声明自定义gradle任务,无法解决符号错误

spring-boot - jar和构建jar的任务之间的Spring Boot问题:Gradle

gradle - 如何通过 Gradle 将 -parameters javac 标志传递给 Java 编译器?

spring - AspectJ AJC使用Aspectj-Maven插件但不使用Gradle

mysql - Grails 3 - Gradle 依赖项 Mysql Connector