Travis CI因支持依赖性而失败

时间:2017-02-11 16:47:31

标签: android gradle travis-ci

我有一个包含两个模块的项目。 第一个模块(库模块)具有以下依赖关系:

dependencies {
    compile 'com.android.support:support-annotations:25.1.1'
    compile 'com.android.support:support-v4:25.1.1'
    compile 'com.android.support:recyclerview-v7:25.1.1'
}

第二个模块(app模块)包含以下内容:

dependencies {
    compile 'com.android.support:appcompat-v7:25.1.1'
    compile project(":library-module-above")
}

这是我的 .travis.yml 文件:

language: android
jdk: oraclejdk8

android:
  components:
    - tools
    - platform-tools
    - build-tools-25.0.2
    - android-25
    - extra-android-m2repository
    - extra-google-m2repository
    - extra-android-support

branches:
  only:
    - master

script:
  - ./gradlew build connectedCheck --stacktrace

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/
    - $HOME/.android/build-cache

Travis的构建失败,因为它无法找到支持apis(RecyclerViewLayoutManager,支持注释)。

如果我在本地计算机上运行相同的命令(./gradlew build connectedCheck --stacktrace),则构建通过0错误查找所有符号。

我的Travis组件是否更正了?或者还有其他我错过的东西?

修改

关于“无法找到符号”的错误并未停止构建。 我没有注意到有关许可证的错误:

* What went wrong:
A problem occurred configuring project ':app'.
> You have not accepted the license agreements of the following SDK components:
  [Android SDK Build-Tools 25.0.2, Android SDK Platform 25].

我在答案中写了解决方案。

1 个答案:

答案 0 :(得分:1)

我解决了添加另一个tools组件的问题。 我在官方Travis Github的页面上找到了解决方案。

此处:https://github.com/travis-ci/docs-travis-ci-com/issues/779

在这里:https://github.com/travis-ci/travis-ci/issues/6801

我的最终.travis.yml组件是:

components:
  - tools
  - platform-tools
  - tools # used above api 25.x
  - build-tools-25.0.2
  - android-25
  - extra-android-support
  - extra-android-m2repository
  - extra-google-m2repository

现在一切正常。