2013-01-17 27 views
13

Androidプロジェクト用のTravis CIを使い始めようとしています。まず、Android Bootstrapを使ってダミープロジェクトを作成し、正方形のottoプロジェクトからymlファイルを追加しました。私のユーザ名とリポジトリ名に変更しました。でもsquare's project builds fine私のビルドは、エラー "/home/travis/build.sh: line 94: android: command not foundで失敗Android用Travis CI

エラーが私の.travis.yml

にこれらのラインを有するにもかかわらず、パスが正しく設定されていないことを示していると思われます
  • 輸出ANDROID_HOME =〜/ビルドします/ f2prateek/FoodBot /アンドロイド-SDK-linuxの
  • 輸出PATH = $ {PATH}:$ {ANDROID_HOME} /ツール:$ {ANDROID_HOME} /プラットフォーム・ツール

この権利を得るために設定する必要があるものはありますか?

答えて

16

更新2014/05:トラヴィスCIは現在、Androidの正式サポートを受けています。

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

あなたは 非AndroidのVM上でそれを使用する場合を除き、以下の回避策は、もはや必要とされていません。


この問題は、Travis CIが64ビット仮想マシンに切り替えた可能性が高いためです。 64ビット環境で動作させるにはAndroid用のia32-libsをインストールする必要があります。これは、現在で達成することができます:

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固有の仮想マシンではサポートさかもしれません未来は、構成を簡素化します。この問題に関するアップデートやAndroid固有のVMに関するディスカッションについては、issue #56の会話に従ってください。

+0

うん、それは数週間続いてきた。回避策ありがとうございました:) – f2prateek

+0

次のエラーが表示されます: 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をエミュレートしています。

しかしgradlewの代わりadb emulatorでテストを実行している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_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のリリースにオートデプロイを有します)。

関連する問題