我想创建具有任务顺序的任务
task fabricUploadDebug(type: Exec) {
dependsOn 'clean'
dependsOn 'compileDebugSources'
dependsOn 'assembleDebug'
dependsOn 'installDebug'
dependsOn 'crashlyticsUploadDistributionDebug'
tasks.getByName('compileDebugSources').mustRunAfter('clean')
tasks.getByName('assembleDebug').mustRunAfter('compileDebugSources')
tasks.getByName('installDebug').mustRunAfter('assembleDebug')
tasks.getByName('crashlyticsUploadDistributionDebug').mustRunAfter('installDebug')}
我试图从右侧面板运行任务" Gradle",但错误是
Gradle sync failed: Task with name 'compileDebugSources' not found in project ':app'. // // Consult IDE log for more details (Help | Show Log) (2s 87ms) (moments ago)
这是关于 https://stackoverflow.com/a/32909428/2425851
更新 我试图输出我拥有的所有任务:
for(item in tasks){
println "group= "+item.group+" ,path= "+item.path
}
但我只有这个:为什么我无法访问其他任务?
group= build ,path= :app:assemble
group= build ,path= :app:assembleAndroidTest
group= build ,path= :app:buildDependents
group= build ,path= :app:buildNeeded
group= verification ,path= :app:check
group= build ,path= :app:cleanBuildCache
group= null ,path= :app:compileLint
group= verification ,path= :app:connectedCheck
group= null ,path= :app:consumeConfigAttr
group= verification ,path= :app:deviceCheck
group= null ,path= :app:extractProguardFiles
group= null ,path= :app:fabricUploadDebug
group= null ,path= :app:lint
group= null ,path= :app:preBuild
group= null ,path= :app:resolveConfigAttr
group= Android ,path= :app:sourceSets
group= Install ,path= :app:uninstallAll
答案 0 :(得分:1)
首先,gradle会动态生成具有不同构建变体的android任务(很可能是 debug 和 release )。
因此,要查看生成的所有任务,您可以使用命令assembleDebug
或CompileDebugSources
查看仅适用于您的应用程序的任务。
其次,似乎task fabricUploadDebug(type: GradleBuild) {
tasks = ['clean', 'assembleDebug', 'installDebug', 'crashlyticsUploadDistributionDebug']
}
任务仅取决于{{1}}(正如您在the documentation上看到的那样),因此对{{1}}的调用似乎不会是必要的。
最后,您似乎想要创建GradleBuild task,您可以将其定义为:
{{1}}
答案 1 :(得分:0)
This should work for you :
task fabricUploadDebug(type: Exec), dependsOn : ['clean',
'compileDebugSources',
'assembleDebug',
'installDebug',
'crashlyticsUploadDistributionDebug'] {
compileDebugSources.dependsOn clean
assembleDebug.dependsOn compileDebugSources
installDebug.dependsOn assembleDebug
crashlyticsUploadDistributionDebug.dependsOn installDebug
}