Сборка Travis не удалась из-за сообщения о том, что версия SDK platform-tools слишком старая

Привет, у меня есть приложение для Android, которое я строю на Travis CI. К сожалению, сборка не удалась, потому что lint говорит, что инструменты SDK платформы слишком старые:

Версия инструментов платформы SDK (23.0.1) устарела для проверки API, скомпилированных с API 25; пожалуйста обновите

Используемые мной инструменты сборки (в файле build.gradle) 25.0.1 и я компилирую с помощью API 25. На моем локальном компьютере мое приложение прекрасно компилируется из командной строки без каких-либо ошибок.

мой .travis.yml файл выглядит так:

language: android
android:
  components:
  - tools
  - build-tools-25.0.1
  - extra-android-m2repository
  - android-25
jdk:
- oraclejdk8
licenses:
- android-sdk-license-.+
- android-sdk-license-c81a61d9

Есть идеи, что может быть не так с моими настройками?

2 ответа

Решение

Вы должны добавить platform-tools на ваш components: блок. У меня это перечислено первым в моем .travis.yml:

android:
    components:
        - platform-tools
        - tools
        - build-tools-25.0.1
        - android-25
        - extra-android-m2repository
        - extra-android-support
        - extra-google-m2repository
        - extra-google-google_play_services

В настоящий момент у Трэвиса есть такая проблема, которая еще не решена: https://github.com/travis-ci/travis-ci/issues/6699

Идя оттуда, я нашел обходной путь, который работал для меня - нужно дублировать android а также build-tools разделы, как показано ниже, с нужной вам версией. Сказано, что таким образом Трэвис получает правильные версии: https://github.com/syncthing/syncthing-android/pull/789

...
android:
  components:
    - tools
    - android-24
    - build-tools-24.0.2
    - platform-tools
    - build-tools-24.0.2
    - android-24
...
Другие вопросы по тегам