我有一个名为'app'的Android应用程序和两个生成'a.jar'和'b.jar'的jar项目 . 'app'是gradle项目,但'a.jar'和'b.jar'都不是非gradle项目 .
我想要jar文件,其中'app'依赖于在执行'gradle build'来构建'app'时自动构建 . 我将jar文件创建的位置添加到'dependencies'闭包中,并尝试插入一些任务来构建和复制a.jar和b.jar .
换句话说,我希望按照以下顺序完成构建任务:
-
build 'a.jar'和'b.jar'
-
'a.jar'和'b.jar'被添加到'app'的依赖项中
-
'app'应该正确构建 .
我试图通过几种方式插入构建 jar 的任务 .
apply plugin: 'com.android.application'
dependencies {
// ... some other dependencies
compile files('external/a.jar')
compile files('external/b.jar')
}
android {
// ...
// standard android build
// ...
}
task buildJarA(type: Exec) {
// the task which builds a.jar and copies into 'external/a.jar'
}
task buildJarB(type: Exec) {
// the task which builds b.jar and copies into 'external/b.jar'
}
// I tried as follows, but it did not work
gradle.projectsEvaluated {
preBuild.dependsOn([buildJarA, buildJarB])
}
但是,我无法添加依赖项来编译jar文件,并且依赖性似乎首先得到解决 . 如果您在解决依赖关系之前知道如何运行任务,请告诉我该问题的解决方案 .
1 回答
而不是
preBuild.dependsOn
,你试过compileJava.dependsOn
?我已经用它来在主构建开始之前复制文件 .