2013-01-17 9 views
13

안드로이드 프로젝트를위한 트래비스 CI 시작하려고합니다. 먼저 Android Bootstrap을 사용하여 더미 프로젝트를 설정하고 Square의 oto 프로젝트에서 yml 파일을 추가하여 사용자 이름과 저장소 이름을 수정했습니다. square's project builds fine.안드로이드에 대한 트래비스 CI

이 오류는 경로가 내 .travis.yml에이 라인을 가지고에도 불구하고, 제대로 설정되지 않았 음을 표시하는 것조차 내 빌드 오류 "/home/travis/build.sh: line 94: android: command not found 실패

,

  • 수출 ANDROID_HOME = ~// f2prateek/FoodBot/안드로이드-SDK-리눅스
  • 수출 PATH = $ {PATH} 빌드 : $ {ANDROID_HOME}/도구 : $ {ANDROID_HOME}/플랫폼 도구
에게

이 권한을 얻기 위해 설정해야 할 다른 것이 있습니까?

답변

16

업데이트 2014/05 : 이제 Travis CI는 Android에 대한 공식 지원을 제공합니다. 당신이 비 안드로이드 VM에 사용하려는 경우가 아니면

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

아래의 해결 방법은 더 이상 필요하지 않습니다.


이 문제는 Travis CI가 64 비트 가상 컴퓨터로 전환되었을 가능성이 높습니다. 64 비트 환경에서 실행하려면 Android 용 ia32-libs를 설치해야합니다. 이것은 현재 달성 할 수 있습니다 http://rkistner.github.com/android/2013/02/05/android-builds-on-travis-ci/

트래비스 지원할 수 안드로이드 특정 가상 머신에 : 나는 안드로이드이뿐만 아니라 기타 세부 사항을 포함 트래비스에서 실행중인 빌드하기에 대한 블로그 포스트를 작성

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

미래, 이것은 구성을 단순화합니다. 이 문제에 대한 업데이트와 Android 관련 VM 토론에 대해서는 issue #56의 대화를 따르십시오.

+0

그래, 수주 동안 그랬습니다. 해결 방법 주셔서 감사합니다 :) – f2prateek

+0

다음과 같은 오류가 나타납니다. 다음 패키지에는 unmet 종속성이 있습니다. ia32-libs-multiarch : i386 : 의존 : libgphoto2-2 : i386 그러나 설치되지 않습니다. 종속 항목 : libsane : i386 그러나 설치되지 않을 것입니다. E : 문제를 해결할 수 없으므로 손상된 패키지를 보관하고 있습니다. – emmby

+0

'ia32-libs-multiarch' 만 설치하려고 할 때와 같은 오류가 발생합니다. 위의 것처럼 전체 행을 사용해야합니다. – Ralf

2

이 답변은 트래비스 자동 테스트까지 다룹니다. 전체 버전은 자동 테스트 및 배포 인 Medium article을 참조하십시오.


트래비스 CI (@ API는 26+)

은 분명히 에뮬레이터를 설정하는 API (24)에서 트래비스에 통증이 고통 [1] [2] [3] [4]입니다.

Sean Barbeau 내가 가지고있는 것보다 훨씬 더 많은 시간 동안 파고 들었던 사람은 pretty much considered it impossible을 에뮬레이트했습니다.

는 그러나 대신 adb emulatorgradlew으로 테스트를 실행 API 26+에 대한 작업 및 간단한 대안이있다. 그것 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의 자료에 autodeploy 포함).

관련 문제