Travis-CI`Android 28许可证未被接受`

时间:2018-09-11 10:49:52

标签: android gradle build travis-ci

我正在尝试使用android-28build-tools-28.0.0使用Travis构建android项目,但是无论我得到什么 ```

  

由于某些许可证尚未接受,因此无法安装以下Android SDK软件包。        平台; android-28 Android SDK平台28        build-tools; 28.0.0 Android SDK Build-Tools 28     要构建此项目,请接受SDK许可协议并使用Android Studio SDK Manager安装缺少的组件。     或者,要将许可协议从一个工作站转移到另一个工作站,请参阅http://d.android.com/r/studio-ui/export-licenses.html   ```   编译期间

我尝试过:

  • 添加

components: - build-tools-28.0.0 - android-28

  • 通过- echo y | android update sdk --no-ui --filter build-tools-28.0.0,android-28,extra-android-m2repository

  • 安装
  • 使用yes | sudo $ANDROID_HOME/tools/bin/sdkmanager --licenses

  • 接受许可证
  • 使用
    接受许可证 licenses: - 'android-sdk-preview-license-52d11cd2' - 'android-sdk-license-.+' - 'google-gdk-license-.+'

  • 甚至在$ANDROID_SDK/licenses

  • 中手动写入文件

我很确定2周前它可以完全正常工作,但是现在每次都抛出此错误。

有问题的

PR,因此您可以查看错误,构建和文件。 https://github.com/Nozbe/WatermelonDB/pull/25

1 个答案:

答案 0 :(得分:10)

将下面的代码添加到您的.travis.yml文件中

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

before_install:
  - chmod +x gradlew
  - mkdir "$ANDROID_HOME/licenses" || true
  - echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_HOME/licenses/android-sdk-license"
  - echo -e "\n84831b9409646a918e30573bab4c9c91346d8abd" > "$ANDROID_HOME/licenses/android-sdk-preview-license"
  - yes | sdkmanager --update
  - yes | sdkmanager --licenses