Travis-CI Android SDK许可证问题

时间:2018-01-04 14:21:32

标签: android travis-ci android-sdk-tools

我正在尝试使用Travis构建我的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"

但现在它对我没有帮助。我会很感激任何建议。

这是构建网址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 个答案:

答案 0 :(得分:6)

替换

- ANDROID_BUILD_TOOLS=27.0.2

通过

- ANDROID_BUILD_TOOLS=27.0.1

或添加:

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

显式安装匹配版本并接受注释here.

的许可

<强>解释

Android Plugin for Gradle 3.0.0 (October 2017)

以来
  

您不再需要为构建工具指定版本 - 插件   默认情况下使用所需的最低版本。所以,你现在可以删除   android.buildToolsVersion属性。

您没有指定版本here,而是明确安装版本27.0.2,Gradle正在下载版本27.0.1而未接受here所述的许可协议。

或者将buildToolsVersion 27.0.2添加到app/build.gradle

android {
    compileSdkVersion 27
    buildToolsVersion "27.0.2"

注意

似乎可以自动接受所有许可,并且不再需要echo

- yes | sudo sdkmanager --licenses

但我没有对其进行测试,请查看this question以获取更多信息。

  

您可能仍需要将许可证文件复制到其他位置   根据您的设置。