我有创建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'。
答案 0 :(得分:2)
我说你试图使用尚未设置的东西
在您设置compileSdkVersion
之后,或者使用afterEvaluate
延迟任务配置,以便其他配置已经完成,或者如果可能的话只延迟评估带闭包的有问题的价值。
最后一个选项可能是最好的选项。找出哪条线存在问题,看看是否可以给它Closure
,因为这些线通常是懒惰地评估。
答案 1 :(得分:1)
正如上面的答案所示,我补充说:
project.android.compileSdkVersion = 'android-23'
project.android.buildToolsVersion = '23.0.1'
和项目正在建设
答案 2 :(得分:0)
如果我在project.afterEvaluate闭包中编写我的任务定义,问题就解决了。