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

时间:2015-06-23 08:26:21

标签: android gradle android-gradle

我有一个名为' app'的Android应用程序。和两个罐子项目产生' a.jar'和' jar'。 '应用'是gradle项目但是没有' a.jar'也不是' jar'是非gradle项目。

我想要jar文件,其中' app'取决于“#gradle build'被执行以构建应用程序'。我将创建jar文件的位置添加到依赖项'关闭并尝试插入一些任务来构建和复制a.jar和b.jar。

换句话说,我希望按照以下顺序完成构建任务:

  1. 构建' a.jar'和' b.jar'
  2. ' a.jar文件'和' jar'被添加到' app'
  3. 的依赖项中
  4. '应用'应该正确建造。
  5. 我试图通过多种方式插入构建罐子的任务。

    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 :(得分:0)

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