Usando Travis CI con Android

He estado mirando los documentos de Travis CI para Android , así que puedo aprender cómo comenzar a usar Travis para mi biblioteca de Android. Sin embargo, no entiendo mucho de lo que dice la documentation …

Hasta ahora, lo que entiendo es:

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 

Los documentos de Travis CI también muestran componentes adicionales que se pueden usar:

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

y da una list más completa aquí .

Pero, ¿qué significan estos / 'componentes adicionales'? Supongo que quizás el componente extra-android-support signifique que el proyecto se buildá con la biblioteca de soporte de Android, pero ¿y los demás?

He echado un vistazo a las testings de Travis para Gradle , pero he visto otros proyectos que usan script: ./gradlew check , script: ./gradlew clean build check , script: "./gradlew build" y algunos sin script en absoluto. ¿Qúe significa todo esto?

Con su file .travis.yml , está configurando una máquina para build y ejecutar su código. En este file, debe especificar todos los componentes que necesita.

El documento muestra todos los componentes SDK que ya están disponibles (preinstalados). No necesita especificarlos en su file .travis.yml, a less que desee forzar la reinstallation de este componente.

En su lugar, debe especificar los componentes que no están preinstalados.
Por ejemplo, solo hay las build-tools 21.1.1 en la list. Fue una decisión del equipo porque hay actualizaciones de versiones más frecuentes para este componente.

¿Qué significan / significan estos "componentes adicionales"?

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

Estos son los repositorys de la biblioteca de soporte (los mismos que debe actualizar con su Administrador de SDK) desde donde gradle descarga las bibliotecas de soporte agregadas en el bloque de dependencies de su file build.gradle .

Para get una list de nombres y descripciones de componentes exactos disponibles, ejecute el command android list sdk --no-ui --all --extended .
Obtendrás algo como:

 # 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 ... 

Con su .travis.yml , debe decirle a Travis cómo verificar si su BUILD es EXITOSO . Con el bloque de script , especifique qué commands usar para verificar la compilation.
Si su proyecto tiene un file build.gradle en la raíz del repository, se usará Gradle para comstackrlo. Puede ser suficiente para ti, depende de tu proyecto.

El command pnetworkingeterminado utilizado con gradle es:

 ./gradlew build connectedCheck 

pero puede anularlo haciendo spocfing el bloque de script.

Más información aquí .

Si desea ver una salida en travis-ci, puede verificar esto .