我有一个包含两个模块的项目。 第一个模块(库模块)具有以下依赖关系:
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(RecyclerView
,LayoutManager
,支持注释)。
如果我在本地计算机上运行相同的命令(./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].
我在答案中写了解决方案。
答案 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
现在一切正常。