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

1

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

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:
      - [email protected]
    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 the latest build tools
  - platform-tools
  - android-${ANDROID_API}
  - build-tools-${ANDROID_BUILD_TOOLS}
  - extra

script:
   - ./gradlew clean test build
  • 0
    Быстрый поиск сообщения об ошибке выявляет 57 существующих вопросов с почти одинаковым сообщением (единственное отличие заключается в конкретном номере версии). Никто из них не помог?
  • 0
    Большинство из них не включают Travis-CI, и я думаю, что это не мой случай. Но я все еще ищу.
Показать ещё 1 комментарий
Теги:
android-sdk-tools
travis-ci

1 ответ

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 к app/build.gradle:

android {
    compileSdkVersion 27
    buildToolsVersion "27.0.2"

Примечание

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

- yes | sudo sdkmanager --licenses

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

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

  • 1
    Ух, я только что добавил buildToolsVersion "27.0.2" в свое приложение / build.gradle, и оно работает !! Большое спасибо!
  • 1
    Ваше последнее предложение в примечании дает The command "yes | sudo sdkmanager --licenses" failed and exited with 1 during .
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню