首页 文章

在解析依赖项之前复制文件以构建Android应用程序

提问于
浏览
4

我有一个名为'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 回答

  • 0

    而不是 preBuild.dependsOn ,你试过 compileJava.dependsOn ?我已经用它来在主构建开始之前复制文件 .

相关问题