Проблемы с лицензией Travis-CI Android SDK

Я пытаюсь построить свой проект Android с Трэвисом, и в настоящее время я получаю сообщение об ошибке:

A problem occurred configuring project ':app'.
> You have not accepted the license agreements of the following SDK 
components:
[Android SDK Build-Tools 27.0.1].

Я не знаю как, но вчера я мог решить проблему с этим:

before_install:
    - yes | sdkmanager "platforms;android-27"

Но теперь это не помогает мне. Буду благодарен за любые советы.

Вот URL сборки https://travis-ci.org/madsunrise/luna-mobile/jobs/325034903 а также ниже я разместил travis.yml

sudo: required

language: android
jdk: oraclejdk8

notifications:
  email:
    recipients:
      - rudnev.vanya@gmail.com
    on_success: change
    on_failure: always

before_cache:
  - rm -f  $HOME/.gradle/caches/modules-2/modules-2.lock
  - rm -rf $HOME/.gradle/caches/*/plugin-resolution/

before_install:
  - yes | sdkmanager "platforms;android-27"

cache:
  directories:
  - $HOME/.gradle/caches/
  - $HOME/.gradle/wrapper/
  - $HOME/.android/build-cache

env:
 global:
 - ANDROID_API=27
 - ANDROID_BUILD_TOOLS=27.0.2

android:
 components:
  - tools
  - tools # Running this twice get's the latest build tools
  - platform-tools
  - android-${ANDROID_API}
  - build-tools-${ANDROID_BUILD_TOOLS}
  - extra

script:
   - ./gradlew clean test build

1 ответ

Решение

Замещать

- ANDROID_BUILD_TOOLS=27.0.2

от

- ANDROID_BUILD_TOOLS=27.0.1

или добавить:

- echo yes | sdkmanager "build-tools;27.0.1"

явно установить соответствующую версию и принять лицензию, как это прокомментировано здесь.

объяснение

Начиная с Android плагин для Gradle 3.0.0 (октябрь 2017 г.)

вам больше не нужно указывать версию для инструментов сборки - плагин использует минимально требуемую версию по умолчанию. Теперь вы можете удалить свойство android.buildToolsVersion.

Вы не указываете версию здесь, вы явно устанавливаете версию 27.0.2, и Gradle загружает версию 27.0.1, не принимая лицензионное соглашение, как описано здесь.

В качестве альтернативы добавьте buildToolsVersion 27.0.2 в ваше приложение / build.gradle:

android {
    compileSdkVersion 27
    buildToolsVersion "27.0.2"

Заметка

Кажется, что можно автоматически принять все лицензии, и echo больше не требуется:

- yes | sudo sdkmanager --licenses

Но я не проверял это, пожалуйста, проверьте этот вопрос для получения дополнительной информации.

вам все равно может понадобиться скопировать файлы лицензий в другие места в зависимости от ваших настроек.

Другие вопросы по тегам