Travis CI 用于 Android

15

我正在尝试为我的Android项目启用Travis CI。首先,我使用Android Bootstrap设置了虚拟项目,并添加了来自Square的Otto项目的yml文件 - 修改后包含我的用户名和仓库名称。

我的构建失败,并显示错误“/home/travis/build.sh: line 94: android: command not found”,即使Square的项目构建良好

该错误似乎表明路径未正确设置,尽管我在我的.travis.yml中有以下几行:

  • export ANDROID_HOME=~/builds/f2prateek/FoodBot/android-sdk-linux
  • export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools

我是否需要设置其他内容才能得到正确结果?

2个回答

16

2014年5月更新:Travis CI现在已经正式支持Android。

http://docs.travis-ci.com/user/languages/android/

以下的解决方法不再需要,除非你想在非Android虚拟机上使用。


问题很可能是由于Travis CI切换到64位虚拟机引起的。您需要安装ia32-libs才能在64位环境下运行Android。您可以通过以下方式实现:

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的虚拟机,这将简化配置过程。有关此问题的更新和Android特定VM的讨论,请关注issue #56


嗯,我已经关注了好几周了。感谢解决方法 :) - f2prateek
我遇到了以下错误:以下软件包存在未满足的依赖关系: ia32-libs-multiarch:i386 : 依赖于 libgphoto2-2:i386,但它将不会被安装 依赖于 libsane:i386,但它将不会被安装 E: 无法纠正问题,您有损坏的软件包。 - emmby
当您尝试仅安装ia32-libs-multiarch时,会出现这样的错误 - 您需要像我上面那样使用整个命令行。 - Ralf

3

这个回复涵盖了Travis自动测试的内容。请查看Medium文章获取完整版本:自动化测试和部署。


Travis CI(@ API 26+)

从API 24开始,在Travis上设置模拟器是一件麻烦的事情[1][2][3][4]

Sean Barbeau比我花费更多时间仔细研究此问题,认为几乎不可能进行仿真

但是,有一个可行且更简单的替代方法适用于API 26+,即使用gradlew而不是adb emulator运行测试。它似乎有一些限制,但应该可以工作。感谢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.gradleAndroidStudio -> 设置 -> Android SDK -> SDK 工具中找到。

(如果您正在使用更新的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

示例.travis.yml设置(自动部署到GitHub发布)。


这只运行JVM JUnit测试,而不是插桩测试。 - hopia

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接