android - Travis CI 因支持依赖而失败

标签 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 上的构建失败,因为它找不到支持 api( 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].

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

最佳答案

我解决了它添加另一个 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

现在一切正常。

关于android - Travis CI 因支持依赖而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42178482/

相关文章:

android - 如何将自定义参数传递给 onClick 监听器

android - 由于内存不足,gradle无法构建android项目

java - 如何使用gradle链接lib中的jar?

node.js - 如何使用travis-ci的.travis.yml为Node.js应用提供环境参数?

git - 如何使用 Git token 通过 Travis CI/Cloudfoundry 访问私有(private)存储库?

android - 如何通过 phonegap 应用程序在 facebook 上共享数据

java - Android APK 无法安装在设备上

android - 如何设置textview的大小取决于文本中的长度?

java - 无法解决Springboot gradle错误 - 需要一个类型为 'com.myapp.services.UserDetailRepository'的bean,但找不到

node.js - cucumber 测试失败,但 travis build 仍然通过