2013-01-17 155 views
13

試圖開始使用我的Android項目的Travis CI。首先,我使用Android Bootstrap設置了虛擬項目,並在Square的otto項目中添加了一個yml文件 - 修改爲具有我的用戶名和repo名稱。Android的Travis CI

我的構建失敗,錯誤「/home/travis/build.sh: line 94: android: command not found,即使square's project builds fine

的錯誤似乎表明路徑設置不正確,儘管在我.travis.yml有這些線路的

  • 出口ANDROID_HOME =〜/構建/ f2prateek/FoodBot/Android的SDK-linux的
  • 出口PATH = $ {PATH}:$ {ANDROID_HOME} /工具:$ {ANDROID_HOME} /平臺的工具

還有什麼我需要建立起來才能正確嗎?

回答

16

更新2014/05:Travis CI現在對Android有官方支持。

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

下面的解決不需要了,除非你想用它在 非Android的虛擬機。


這個問題很有可能是因爲Travis CI切換到64位虛擬機。您需要安裝Android的ia32-libs才能在64位環境中運行。這目前仍與實現:

sudo apt-get install -qq --force-yes libgd2-xpm ia32-libs ia32-libs-multiarch 

我寫了一篇關於讓Android的基礎上特拉維斯,覆蓋這個問題,以及其他細節運行的博客文章:http://rkistner.github.com/android/2013/02/05/android-builds-on-travis-ci/

特拉維斯可能支持Android專用的虛擬機中未來,這將簡化配置。請按照issue #56上的對話進行有關此問題的更新,並討論Android特定的VM。

+0

是的,幾個星期之後。感謝您的解決方法:) – f2prateek

+0

我得到以下錯誤:下列軟件包有未滿足的依賴關係: ia32-libs-multiarch:i386:取決於:libgphoto2-2:i386但它不會被安裝 取決於:libsane:i386但它不會被安裝 E:無法糾正問題,您已經保存了破損的軟件包。 – emmby

+0

當你嘗試只安裝'ia32-libs-multiarch'時,你會得到這樣的錯誤 - 你需要像上面那樣使用整條線。 – Ralf

2

本回復涵蓋了Travis自動測試。完整版本請參見Medium article:自動測試和部署。


特拉維斯CI(@ API 26+)

顯然從API 24設置在仿真器是一個特拉維斯疼痛是一種痛苦[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.gradleAndroidStudio -> Settings -> Android SDK -> SDK Tools

(如果你正在構建一個新的項目與更新的AndroidStudio,你應該選擇在以下鏈接的最新版本)

ANDROID_APIhttps://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels

ANDROID_BUILD_TOOLShttps://developer.android.com/studio/releases/build-tools.html

Example .travis.yml setup(帶自動部署到GitHub的版本)。