我在Mac上使用Android Studio 1.3.2。
Gradle版本列为2.2.1,Android插件版本1.3.1。
我已经应用了FindBugs Gradle plugin,并且我已经创建了一个成功运行目录'build / intermediates / classes'的分析的任务。
要在Gradle Sync上触发此任务,我已将其作为依赖项添加到preBuild
任务中,如下所示:
preBuild.dependsOn findBugs
此依赖关系的问题在于,在preBuild时,生成的类文件不存在(第一次同步)或过时(从先前的同步中保留)。基本上,我希望我的任务在创建'build / intermediates / classes'目录后立即运行,或者在'Sync'操作中刷新那些文件时。
查看可用的任务,我可以看到'clean'任务有以下描述:
clean - Deletes the build directory.
但是,我看到的其他任务都没有描述目录的创建。我的第一个想法是“嗯,它必须是构建任务,对吧?”。不幸的是,像往常一样,它不是那么简单(按下gradle'同步'按钮,当我将它作为'build'任务的依赖项添加时,不会触发我的任务)。没有这样的任务吗?如果是这样,哪个任务最适合我想要实现的目标?
答案 0 :(得分:1)
您可以使用 ./ gradlew tasks
查看所有任务构建任务是主要任务。它构建所有内容,生成APK并运行所有检查。
我建议您将以下内容添加到build.gradle文件中:
check.dependsOn 'findbugs'
因此,当您运行检查任务时,它也将执行findbugs。
然后还为编译任务设置了对findBugs的依赖:
task findbugs(type: FindBugs, dependsOn: 'compileDebugSources') {...}
这将编译源代码,以防你在没有事先编译它的情况下运行findbugs。