尝试为我的Android项目开始使用Travis CI。首先,我使用Android Bootstrap设置虚拟项目,并从square's otto项目添加了一个yml文件 - 修改为具有我的用户名和回购名称。
我的构建失败,错误为“/home/travis/build.sh: line 94: android: command not found,即使square's project builds fine。
也是如此。”错误似乎表明路径设置不正确,尽管我的.travis.yml中有这些行
我还需要设置其他东西才能做到这一点吗?
答案 0 :(得分:16)
更新2014/05 :Travis CI现在正在为Android提供官方支持。
http://docs.travis-ci.com/user/languages/android/
以下的解决方法不再需要,除非你想在a上使用它 非Android VM。
问题很可能是Travis CI切换到64位虚拟机。您需要安装适用于Android的ia32-libs才能在64位环境中运行。目前可以通过以下方式实现:
sudo apt-get install -qq --force-yes libgd2-xpm ia32-libs ia32-libs-multiarch
我撰写了一篇关于在Travis上运行Android版本的博客文章,其中涵盖了此内容以及其他详细信息:http://rkistner.github.com/android/2013/02/05/android-builds-on-travis-ci/
Travis可能会在未来支持特定于Android的虚拟机,这将简化配置。按照issue #56上的对话,了解有关此问题的更新以及针对特定于Android的VM的讨论。
答案 1 :(得分:3)
此回复涵盖了Travis自动测试。有关完整版本,请参阅Medium article:自动测试和部署。
显然,从API 24设置模拟器是痛苦的Travis很痛苦[1] [2] [3] [4]。
Sean Barbeau,他们比我更长时间地挖掘了这个时间,有pretty much considered it impossible来模仿。
但 API 26 + 还有一个更简单的替代方案,即使用gradlew
代替adb emulator
运行测试。它seems to have some limitations,但它应该工作。致PocketHub。
sudo: required
language: android
jdk: oraclejdk8
before_cache:
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
- rm -rf $HOME/.gradle/caches/*/plugin-resolution/
cache:
directories:
- $HOME/.gradle/caches/
- $HOME/.gradle/wrapper/
- $HOME/.android/build-cache
env:
global:
- ANDROID_API=26
- ANDROID_BUILD_TOOLS=26.0.2
android:
components:
- tools
- tools # Running this twice get's the latest build tools (https://github.com/codepath/android_guides/wiki/Setting-up-Travis-CI)
- platform-tools
- android-${ANDROID_API}
- build-tools-${ANDROID_BUILD_TOOLS}
- extra
script:
- ./gradlew clean test build
您可能需要调整到项目的环境变量:
有些信息应该在build.gradle
或AndroidStudio -> Settings -> Android SDK -> SDK Tools
(如果您正在使用更新的AndroidStudio构建新项目,则应选择以下链接中的最新版本)
ANDROID_API :https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels
ANDROID_BUILD_TOOLS :https://developer.android.com/studio/releases/build-tools.html
Example .travis.yml setup(自动部署到GitHub版本)。