2016-01-05 6 views
6

Я смотрел на Travis CI docs for Android, поэтому я могу узнать, как начать использовать Travis для своей библиотеки Android. Тем не менее, я не понимаю, много того, что сказано в документации ...Использование Travis CI с Android

До сих пор, что я понимаю, это:

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 

Документах Travis 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, но я видел другие проекты используют script: ./gradlew check, script: ./gradlew clean build check, script: "./gradlew build", а некоторые, не script вообще. Что все это значит?

ответ

5

С вашим .travis.yml файлом вы настраиваете машину для создания и запуска кода. В этом файле вы должны указать все компоненты, которые вам нужны.

В документе представлены все компоненты SDK, которые уже доступны (предустановлены). Вам не нужно указывать их в файле .travis.yml, если вы не хотите принудительно переустановить этот компонент.

Вместо этого вы должны указать компоненты, которые не были предварительно установлены.
Например, в списке есть только build-tools 21.1.1. Это было решение команды, потому что для этого компонента существует более частая версия обновлений.

Что делают эти дополнительные компоненты?

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

Это библиотека поддержки хранилища (то же, что вам необходимо обновить с помощью диспетчером SDK), из которого Gradle загрузки опорных библиотек добавлены в зависимости блоке файла build.gradle.

Чтобы получить список доступных точных имен и описаний компонентов, выполните команду android list sdk --no-ui --all --extended.
Вы получите somenthing как:

# 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 

... 

с вашим .travis.yml вы должны сказать Travis, как проверить, если ваш BUILD успешна. С блоком script вы указываете, какие команды использовать для проверки сборки.
Если ваш проект имеет файл build.gradle в корне репозитория, Gradle будет использоваться для его создания. Этого может быть достаточно для вас, это зависит от вашего проекта.

команда по умолчанию используется с Gradle является:

./gradlew build connectedCheck 

но вы можете переопределить это specyfing блок сценария.

Дополнительная информация here.

Если вы хотите увидеть результат в travis-ci, вы можете проверить this.

+0

Удивительный ответ, спасибо! Всего несколько вопросов: 1) вы упомянули «список android sdk --no-ui --all --extended», чтобы получить список всех компонентов - где я могу запустить эту команду (Windows cmd, терминал в Android Studio или что-то другое?); 2) какая разница между 'extra-google-m2repository' и' extra-android-m2repository' ?. 3) Каковы исходные файлы («источник-23», «источник-22» и т. Д.) ?. Еще раз спасибо за очень хорошо объясненный ответ! –

+1

@ FarbodSalamat-Zadeh Обновлен ответ с некоторой информацией. 1) Вы можете использовать команду 'android list sdk' в скрипте в блоке' before_install: '. 2) проверьте ответ. Первый - это репозиторий google для библиотеки сервисов google play, второй для библиотек поддержки (appcompat, v4). Вы также можете проверить его в папке sdk 'androidSdk/extras'. 3) Исходный файл классов android, как в sdk-менеджере. –

+0

После добавления сценария в блок 'before_install:', как бы я мог увидеть результаты? (Надеюсь, это не глупый вопрос ...) –

Смежные вопросы