我为Travis CI设置了环境并将.travis.yml添加到我的源文件夹中:
language : android
jdk: oraclejdk7
android:
components:
- build-tools-19.1.0
# The SDK version used to compile the project
- android-19
- extra-google-google_play_services
- extra-google-m2repository
- extra-android-m2repository
- addon-google_apis-google-19
before_install:
- chmod +x gradlew
install:
- true
script: ./gradlew assembleDebug
Travis总是下载构建工具等,但是在重命名目录时失败了。输出每次都相同:
安装档案:
准备安装档案
下载SDK平台Android 4.4.2,API 19,修订版4
安装SDK平台Android 4.4.2,API 19,修订版4
无法将目录/ usr / local / android-sdk / platforms / android-19重命名为/usr/local/android->sdk/temp/PlatformPackage.old01。
无法创建目录/ usr / local / android-sdk / platforms / android-19
完成。什么都没安装。
我知道Android的Travis CI是测试版。
修改
我可能知道这个问题。问题是因为已经安装了SDK 19,而且我只需要安装构建工具。
答案 0 :(得分:2)
更新回复:VM图像已经包含固定的android-wait-for-emulator脚本和android SDK工具版本24.0.0,默认情况下解决问题。
Build Environment Updates - 2014-12-09
过时的回复:
你是对的。如果您使用基于容器的基础架构并且需要更新到最新工具,则可以在此处找到一个未解决的问题: https://github.com/travis-ci/travis-ci/issues/2848
默认的android-sdk文件夹位于/usr/local/android-sdk
,sudo已被禁用。他们正在开发解决此问题的Docker / BTRFS实现。
Ayufan在那里解释说Docker默认使用AUFS,它不支持所有可能的文件系统操作。我不知道这个具体问题的细节。
如果您需要在修复文件系统/权限问题之前升级到最新工具版本(23.0.5,android-21要求),请检查我在同一链接上的最后一个响应。
您可以使用下一个解决方法将android-sdk
文件夹复制到$TRAVIS_BUILD_DIR
位置内的文件夹:
env:
global:
- ANDROID_HOME=${TRAVIS_BUILD_DIR}/android-sdk
- PATH=${ANDROID_HOME}/:${ANDROID_HOME}/tools/:${ANDROID_HOME}/platform-tools/:${PATH}
before_install:
- cp -R /usr/local/android-sdk-23.0.2 ./android-sdk
http://docs.travis-ci.com/user/ci-environment/#Environment-variables
因此,您保留已下载的组件,并可以移动tools
脚本和sdkmanager所在的android
文件夹。
其他选项是将tools
文件夹移动到temp
文件夹并更新:
https://stackoverflow.com/a/8839359/1009132
或干净的手动安装最新工具,使用wget等在同一级别为platforms
和add-ons
创建两个空文件夹。工具链接:
https://dl-ssl.google.com/android/repository/tools_r23.0.5-linux.zip
我知道您目前不需要此响应,但可能人们需要尽快安装android-21并找到此问题。