构建Android总是下载每个构建的依赖项

时间:2017-05-29 17:30:11

标签: android continuous-integration travis-ci

我正在使用Travis CI连接到我的github帐户。构建总是成功的但是它们需要很长时间,因为travis将继续为每个构建下载相同的依赖项。即下载通常需要5分钟,但建设只需不到一分钟。 Travis上是否有任何配置可以避免下载依赖项?

以下是每次下载内容的摘要:

Starting a Gradle Daemon (subsequent builds will be faster)

Download https://maven.google.com/com/android/tools/build/gradle/3.0.0-alpha2/gradle-3.0.0-alpha2.pom
Download https://jcenter.bintray.com/com/dicedmelon/gradle/jacoco-android/0.1.1/jacoco-android-0.1.1.pom
Download https://maven.google.com/com/android/tools/build/gradle-core/3.0.0-alpha2/gradle-core-3.0.0-alpha2.pom
Download https://jcenter.bintray.com/org/codehaus/groovy/groovy-all/2.4.4/groovy-all-2.4.4.pom

我的travis.yml文件:

language: android

jdk: oraclejdk8

env:
  global:
    - ANDROID_TARGET=android-25
    - ANDROID_ABI=armeabi-v7a

android:
  components:
  - tools
  - platform-tools
  - build-tools-25.0.2
  - android-25
  - extra-android-m2repository
  - sys-img-${ANDROID_ABI}-${ANDROID_TARGET}

licenses:
  - android-sdk-license-.+
  - '.+'

script:
    - ./gradlew --daemon build jacocoTestReport

after_success:
    - bash <(curl -s https://codecov.io/bash)

非常感谢任何建议,

1 个答案:

答案 0 :(得分:1)

您可以使用the cache来避免这些下载,但可以使用it's not recommended来获取Android SDK。

有关Gradle依赖关系的文档here

  

Gradle中依赖性缓存的特性意味着要避免   每次构建后上传缓存需要添加以下内容   到你的.travis.yml的行:

before_cache:
  - rm -f  $HOME/.gradle/caches/modules-2/modules-2.lock
  - rm -fr $HOME/.gradle/caches/*/plugin-resolution/
cache:
  directories:
    - $HOME/.gradle/caches/
    - $HOME/.gradle/wrapper/

您可以将其他目录添加到缓存中,但不建议使用large files