2016-01-05 11 views
6

私はTravis CI docs for Androidを見てきました。私はAndroidライブラリ用のTravisを使い始める方法を学ぶことができます。しかし、私は私が理解、これまでのところ...AndroidでTravis CIを使用する

をドキュメントが言うことの多くを理解していないことである。

language: android # this means the project will be built in an Android environment 

android: 
    components: 
    - tools    # will be built with latest version of Android SDK tools 
    - platform-tools  # '' 
    - build-tools-23.0.1 # build tools version of my project 
    - android-23   # Android SDK version of my project 

トラヴィスCIのドキュメントも使用することができる追加のコンポーネントを示しています。

# Additional components 
- extra-google-google_play_services 
- extra-google-m2repository 
- extra-android-m2repository 
- addon-google_apis-google-19 

より完全なリストhereが得られます。

しかし、これらの「追加コンポーネント」は何を意味するのですか?私はおそらくextra-android-supportコンポーネントは、このプロジェクトがAndroidサポートライブラリで構築されることを意味すると思いますが、他のものはどうですか?

は私がTravis tests for Gradleを見て持っていたが、私は他のプロジェクトがまったくscriptscript: ./gradlew checkscript: ./gradlew clean build checkscript: "./gradlew build"、およびいくつかを使用し見てきました。 これはどういう意味ですか?

答えて

5

.travis.ymlファイルでは、コードをビルドして実行するようにマシンを構成しています。このファイルでは、必要なすべてのコンポーネントを指定する必要があります。

docには、既に利用可能な(プレインストールされている)すべてのSDKコンポーネントが表示されます。このコンポーネントを強制的に再インストールしない限り、.travis.ymlファイルで指定する必要はありません。

代わりに、プレインストールされていないコンポーネントを指定する必要があります。
たとえば、リストにはbuild-tools 21.1.1しかありません。このコンポーネントのバージョン更新が頻繁に行われたため、チームの決定でした。

これらの「追加コンポーネント」は何を意味するのですか?

- extra-google-google_play_services 
- extra-google-m2repository 
- extra-android-m2repository 

これらはGradleのは、あなたのbuild.gradleファイルの依存関係のブロックで追加サポートライブラリをダウンロードし、そこからサポートライブラリリポジトリ(同じあなたはSDK Managerで更新する必要があること)です。

利用可能な正確なコンポーネント名と説明のリストを取得するには、コマンドandroid list sdk --no-ui --all --extendedを実行します。
あなたは次のようにsomenthingれます:あなたの.travis.ymlあなたのBUILDが成功するかどうかを確認する方法トラヴィスを伝えるために持っていると

# Check Android SDK tools: http://developer.android.com/tools/sdk/tools-notes.html 
# Check Android SDK Platform-tools: http://developer.android.com/tools/revisions/platforms.html 
tools 
platform-tools 

# Check BuildTools: http://developer.android.com/tools/revisions/build-tools.html 
build-tools-23.0.1 

# The API to be used to compile 
# Check APIs: http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels 

android-23 
android-22 
android-21 
android-20 
android-19 
android-18 
android-17 
android-16 
.... 

# The system images if you need to run emulator during your tests 

sys-img-armeabi-v7a-android-23 
sys-img-x86-android-23 
.... 

# Google repository from which download the dependencies 

# Check extras: http://developer.android.com/sdk/installing/adding-packages.html#GetSupportLib 
extra-android-m2repository 
extra-android-support 

# Check more extras: http://developer.android.com/sdk/installing/adding-packages.html#GetGoogle 
extra-google-m2repository 
extra-google-google_play_services 

extra-google-admob_ads_sdk 
extra-google-analytics_sdk_v2 
extra-google-gcm 
extra-google-google_play_services_froyo 
..... 

# Source file 
source-23 
source-22 
source-21 

... 

scriptブロックでは、ビルドのチェックに使用するコマンドを指定します。
プロジェクトにbuild.gradleというファイルがリポジトリルートにある場合は、Gradleを使用してビルドします。それはあなたのために十分であり、それはあなたのプロジェクトによって異なります。

./gradlew build connectedCheck 

ていますが、それはスクリプトブロックをspecyfingオーバーライドすることができます。

のGradleで使用されるデフォルトのコマンドがあります。

詳細情報here

travis-ciで出力を表示する場合は、thisをチェックしてください。

+0

驚くべき回答、ありがとう!ちょうどいくつかの質問:1) 'アンドロイドリストsdk --no-ui --all --extended'で全てのコンポーネントのリストを取得したと言いました - このコマンドはどこで実行しますか(Windowsのcmd、Androidスタジオの端末、または他の何か? 2) 'extra-google-m2repository'と' extra-android-m2repository'の違いは何ですか? 3)ソースファイル( 'source-23'、' source-22'など)とは何ですか?非常によく説明された答えをありがとう! –

+1

@ FarbodSalamat-Zadehいくつかの情報で答えを更新しました。 1)スクリプトの 'before_install:'ブロックで 'android list sdk'コマンドを使うことができます。 2)答えを確認する。最初はgoogle playサービスライブラリ用のGoogleリポジトリ、サポートライブラリ用の2番目のアプリケーションライブラリ(appcompat、v4)です。 sdkフォルダ 'androidSdk/extras'でも確認できます。 3)sdkマネージャーのようにアンドロイドクラスのソースファイル。 –

+0

'before_install:'ブロックでスクリプトを追加した後、どのように結果が見えますか? (私はこれが愚かな質問ではないことを願っています...) –