Travis CI 失败,因为无法接受许可约束布局 [英] Travis CI failed because cannot accept license Constrain Layout

查看:38
本文介绍了Travis CI 失败,因为无法接受许可约束布局的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我写这个问题之前,我已经搜索了同样的问题,他们做了出口许可证,因为仍然使用 alpha 版本的约束布局.但是现在android已经发布了constrain layout的稳定版本.我尝试了很多设置但仍然失败..

我最新的.travis.yml

语言:androidjdk:oraclejdk8安卓:成分:- 平台工具- 工具 # 获取新的 `repository-11.xml`- 工具 # 见 https://github.com/travis-ci/travis-ci/issues/6040#issuecomment-219367943)- 构建工具-25.0.0- android-25# 附加组件- extra-google-google_play_services- 额外的谷歌-m2repository- 额外的android-m2repository许可证:- 'android-sdk-preview-license-52d11cd2'- 'android-sdk-license-.+'- 'google-gdk-license-.+'脚本:- ./gradlew 干净的构建

这是我的build.gradle

应用插件:'com.android.application'安卓 {compileSdkVersion 25buildToolsVersion '25.0.0'默认配置{applicationId "com.package.my"minSdk 版本 16目标SDK版本25版本代码 6版本名称1.3.1"testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"}构建类型{释放 {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}}数据绑定{启用 = 真}}依赖{编译文件树(目录:'libs',包括:['*.jar'])androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {排除组:'com.android.support',模块:'support-annotations'})编译'com.android.support:appcompat-v7:25.1.1'testCompile 'junit:junit:4.12'编译 'com.google.firebase:firebase-database:10.2.0'编译 'com.google.firebase:firebase-messaging:10.2.0'编译'com.firebaseui:firebase-ui-database:1.2.0'编译 'com.android.support.constraint:constraint-layout:1.0.1'编译'com.android.support:design:25.0.0'编译'org.sufficientlysecure:html-textview:3.2'编译'com.android.support:recyclerview-v7:25.2.0'}应用插件:'com.google.gms.google-services'

使用此设置时出现此错误

FAILURE:构建失败,出现异常.* 什么地方出了错:配置项目:app"时出现问题.>您尚未接受以下 SDK 组件的许可协议:[ConstraintLayout for Android 1.0.1, Solver for ConstraintLayout 1.0.1].在构建项目之前,您需要接受许可协议并使用 Android Studio SDK 管理器完成缺失组件的安装.或者,要了解如何将许可协议从一个工作站转移到另一个工作站,请访问 http://d.android.com/r/studio-ui/export-licenses.html* 尝试:使用 --stacktrace 选项运行以获取堆栈跟踪.使用 --info 或 --debug 选项运行以获得更多日志输出.构建失败总时间:1 分 55.975 秒命令./gradlew clean build"以1退出.完毕.您的构建以 1 退出.

有没有使用出口许可证的解决方案?

解决方案

更新回复

<块引用>

有没有使用出口许可证的解决方案?

是的,您可以使用新的 sdkmanager安装约束库并接受许可:

 - echo yes |sdkmanager额外;m2repository;com;android;support;constraint;constraint-layout;1.0.2"- 回声是 |sdkmanager额外的;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2"

否则,缺失的组件会被gradle检测到并下载而不接受:

 # 如果 Gradle Wrapper 尚未缓存,则显示版本并下载它- cd ${TRAVIS_BUILD_DIR}/${DIR} &&./gradlew --version# 清理项目并下载缺少的依赖项和组件- cd ${TRAVIS_BUILD_DIR}/${DIR} &&./gradlew 干净的构建

在这种情况下,如下所述,您需要在第一次通过变通办法接受许可.

完整的工作示例,使用 Android API 级别 22 到 25 的约束布局代码实验室存储库:

语言:androidjdk:oraclejdk8sudo: required # false for Container-Based Infrastructure, required for Sudo-enabled Infrastructurebefore_cache:- rm -f ${TRAVIS_BUILD_DIR}/gradle/caches/modules-2/modules-2.lock # 避免因锁而重新打包- rm -f ${TRAVIS_BUILD_DIR}/gradle/caches/3.3/classAnalysis/classAnalysis.lock- rm -f ${TRAVIS_BUILD_DIR}/gradle/caches/3.3/jarSnapshots/jarSnapshots.lock缓存:目录:- ${TRAVIS_BUILD_DIR}/gradle/caches/- ${TRAVIS_BUILD_DIR}/gradle/wrapper/dists/通知:电子邮件:假安卓:组件:# Cookbooks 版本:https://github.com/travis-ci/travis-cookbooks/tree/9c6cd11- 工具 # 将预装的工具从 24.0.2 版本更新到 24.4.1- build-tools-25.0.2 # 匹配 build.gradle 中使用的 build-tools 版本- 平台工具 # 更新平台工具到修订版 25.0.3+- 工具 # 将工具从修订版 24.4.1 更新到 25.2.5环境:全球的:- DIR=constraint-layout-start # 项目目录- API=25 # Android API 级别默认为 25- TAG=google_apis # 默认使用谷歌 API,或者使用默认- ABI=armeabi-v7a # 默认ARM ABI v7a- QEMU_AUDIO_DRV=none # 禁用模拟器音频以避免警告- GRADLE_USER_HOME="${TRAVIS_BUILD_DIR}/gradle" # 更改 Gradle Wrapper 和缓存的位置- ANDROID_HOME=/usr/local/android-sdk-24.0.2 # 取决于VM中使用的cookbooks版本- TOOLS=${ANDROID_HOME}/tools # PATH 顺序很重要,存在多个模拟器脚本- PATH=${ANDROID_HOME}:${ANDROID_HOME}/emulator:${TOOLS}:${TOOLS}/bin:${ANDROID_HOME}/platform-tools:${PATH}- ADB_INSTALL_TIMEOUT=20 # 分钟(默认为 2 分钟)矩阵:包括: # 更多要并行构建的模拟器 API 级别- 环境:API=24- 环境:API=23- 环境:API=22允许失败:- 环境:API=23- 环境:API=22快速完成:假安装前:- export EMULATOR="system-images;android-${API};${TAG};${ABI}" # 用于安装/创建模拟器-回声'计数= 0'>/home/travis/.android/repositories.cfg # 避免警告安装:# 列出并删除不需要的组件以释放空间- sdkmanager --list ||真的- sdkmanager --uninstall "system-images;android-15;default;armeabi-v7a"- sdkmanager --uninstall "system-images;android-16;default;armeabi-v7a"- sdkmanager --uninstall "system-images;android-17;default;armeabi-v7a"- sdkmanager --uninstall "system-images;android-18;default;armeabi-v7a"- sdkmanager --uninstall "system-images;android-19;default;armeabi-v7a"- sdkmanager --uninstall "system-images;android-21;default;armeabi-v7a"- sdkmanager --uninstall "extras;google;google_play_services"- sdkmanager --uninstall "extras;android;support"- sdkmanager --卸载平台;android-10"- sdkmanager --卸载平台;android-15"- sdkmanager --卸载平台;android-16"- sdkmanager --卸载平台;android-17"- sdkmanager --卸载平台;android-18"- sdkmanager --卸载平台;android-19"- sdkmanager --卸载平台;android-20"- sdkmanager --卸载平台;android-21"- sdkmanager --uninstall "build-tools;21.1.2"# 更新 sdk 工具到最新版本并安装/更新组件- 回声是 |sdkmanager工具"- 回声是 |sdkmanager "platforms;android-25" # SDK 工具需要的最新平台- 回声是 |sdkmanager "platforms;android-${API}" # 模拟器需要的安卓平台- 回声是 |sdkmanager额外的;android;m2repository"- 回声是 |sdkmanager附加功能;谷歌;m2repository"- 回声是 |sdkmanager额外;m2repository;com;android;support;constraint;constraint-layout;1.0.2"- 回声是 |sdkmanager额外的;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2"- 回声是 |sdkmanager "$EMULATOR" # 安装模拟器系统镜像# 创建并启动模拟器- 回声没有 |avdmanager 创建 avd -n acib -k "$EMULATOR" -f --abi "$ABI" --tag "$TAG"- 模拟器 -avd acib -engine classic -no-window -camera-back none -camera-front none -verbose -qemu -m 512 &# 启动 adbd,等待设备连接并显示 android 串口- adb wait-for-device get-serialno# 如果尚未缓存,则显示版本并下载 Gradle Wrapper- cd ${TRAVIS_BUILD_DIR}/${DIR} &&./gradlew --version# 清理项目并下载缺少的依赖项和组件- cd ${TRAVIS_BUILD_DIR}/${DIR} &&./gradlew 干净的构建# 查看组件状态- sdkmanager --list ||真的before_script:# 等待模拟器完全启动并禁用动画- 安卓等待模拟器- adb shell 设置把全局 window_animation_scale 0 &- adb shell设置把全局transition_animation_scale 0 &- adb shell设置把全局animator_duration_scale 0 &- 睡眠 30- adb shell 输入 keyevent 82 &脚本:# 运行所有设备检查- cd ${TRAVIS_BUILD_DIR}/${DIR} &&./gradlew已连接检查后脚本:# 显示测试和 lint 结果- cat ${TRAVIS_BUILD_DIR}/${DIR}/*/build/outputs/androidTest-results/connected/*- cat ${TRAVIS_BUILD_DIR}/${DIR}/*/build/reports/lint-results.xml

另外两个示例使用 sdkmanageravdmanager 而没有 ${DIR} 解决方法:

参考资料

使用Gradle自动下载丢失的软件包相关的官方文档

新模拟器选项在从命令行启动模拟器

avdmanager 在此处解释 替换 <代码>android avd 自 SDK 工具版本 25.3.0

sdkmanager 在这里解释也增强了从命令行查看和接受所有许可

<小时>

上一个回复:由于sdkmanager替换了android脚本

我对 Travis-ci 有点过时,现在似乎需要额外的工作,所以最好检查一下:

<块引用>

在您的 .travis.yml 文件中添加:

before_install:- mkdir "$ANDROID_HOME/licenses" ||真的- echo -e "
8933bad161af4178b1185d1a37fbf41ea5269c55" >$ANDROID_HOME/licenses/android-sdk-license"- echo -e "
84831b9409646a918e30573bab4c9c91346d8abd" >$ANDROID_HOME/licenses/android-sdk-preview-license"

不要忘记接受主要 android 对象上的所有许可:

安卓:成分:# ...许可证:- android-sdk-license-.+- '.+'

<块引用>

如果您收到请使用Android Studio 中的 SDK 管理器."错误,您可以安装缺少的带有 sdkmanager 命令行工具的组件:

echo y |sdkmanager额外;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta4"回声 y |sdkmanager附加;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta"

  • 本文说明Circle-ci 和 Travis-ci 的约束布局问题

  • 文档关于 Android 中提供的 sdkmanagerSDK 工具包 (25.2.3+)

<小时>

过时的解决方案:在android脚本弃用之前

我不使用默认的 Travis-ci 脚本来安装 Android 组件并接受许可证,从这里:

#安装和更新SDK功能安装和更新 SDK {# 保持 SDK 包是最新的(只安装缺少的建议更新).( sleep 5 && while [ 1 ]; do sleep 1; echo y; done ) |安卓更新sdk -u -t ${UPDATE_PKGS:-'platform-tools,tools,extra-android-m2repository,extra-google-m2repository'}# 安装或重新安装 SDK 包(如果为空,则安装所有包).( sleep 5 && while [ 1 ]; do sleep 1; echo y; done ) |安卓更新sdk -a -u -t ${INSTALL_PKGS:-'build-tools-23.0.3,android-23'},${TARGET_PKGS:-}}

如果你像 这个:

# 设置阶段# ---------------# 如果你注释掉这部分,Travis CI 会为你安装你在这里定义的组件.# 检查您的项目要求和 Travis-ci VM 映像中默认包含的组件.# 需要检查:https://github.com/google/iosched/blob/master/doc/BUILDING.md# 检查默认值:http://docs.travis-ci.com/user/languages/android/#Pre-installed-components安卓:成分:# 查看Android SDK工具:http://developer.android.com/tools/sdk/tools-notes.html# 查看Android SDK Platform-tools:http://developer.android.com/tools/revisions/platforms.html# 如果默认包含最新版本的 Android SDK 工具,请注释以下行.# - 工具# - 平台工具# ...许可证:# 检查许可证:http://docs.travis-ci.com/user/languages/android/#Dealing-with-Licenses# 默认情况下,Travis 将接受所有许可,但也可以定义白名单:# 白名单当前 android-sdk-license 修订.# - 'android-sdk-license-5be876d5'# 将所有 android-sdk-license 修订版列入白名单.# - 'android-sdk-license-.+'# 白名单所有许可证.- '.+'

Before i write this question, i already search same question about this, they did export license because still use alpha version of constrain layout. But now android already release stable version of constrain layout. I tried a lot of setup but still failed..

my latest .travis.yml

language: android

jdk: oraclejdk8

android:
  components:
    - platform-tools
    - tools # to get the new `repository-11.xml`
    - tools # see https://github.com/travis-ci/travis-ci/issues/6040#issuecomment-219367943)
    - build-tools-25.0.0
    - android-25

    # Additional components
    - extra-google-google_play_services
    - extra-google-m2repository
    - extra-android-m2repository

  licenses:
    - 'android-sdk-preview-license-52d11cd2'
    - 'android-sdk-license-.+'
    - 'google-gdk-license-.+'

script:
   - ./gradlew clean build

and this is my build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion '25.0.0'
    defaultConfig {
        applicationId "com.package.my"
        minSdkVersion 16
        targetSdkVersion 25
        versionCode 6
        versionName "1.3.1"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    dataBinding {
        enabled = true
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.1.1'
    testCompile 'junit:junit:4.12'
    compile 'com.google.firebase:firebase-database:10.2.0'
    compile 'com.google.firebase:firebase-messaging:10.2.0'
    compile 'com.firebaseui:firebase-ui-database:1.2.0'
    compile 'com.android.support.constraint:constraint-layout:1.0.1'
    compile 'com.android.support:design:25.0.0'
    compile 'org.sufficientlysecure:html-textview:3.2'
    compile 'com.android.support:recyclerview-v7:25.2.0'

}

apply plugin: 'com.google.gms.google-services'

with this setup i got this error

FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring project ':app'.
> You have not accepted the license agreements of the following SDK components:
  [ConstraintLayout for Android 1.0.1, Solver for ConstraintLayout 1.0.1].
  Before building your project, you need to accept the license agreements and complete the installation of the missing components using the Android Studio SDK Manager.
  Alternatively, to learn how to transfer the license agreements from one workstation to another, go to http://d.android.com/r/studio-ui/export-licenses.html
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 1 mins 55.975 secs
The command "./gradlew clean build" exited with 1.
Done. Your build exited with 1.

is there any solution without workaround using export license ?

解决方案

Updated response

is there any solution without workaround using export license?

Yes, you can use the new sdkmanager to install the constraint library and accept the license:

  - echo yes | sdkmanager "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2"
  - echo yes | sdkmanager "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2"

Otherwise, the missing component will be detected by gradle and downloaded without accept it:

  # Show version and download Gradle Wrapper if it's not already cached
  - cd ${TRAVIS_BUILD_DIR}/${DIR} && ./gradlew --version
  # Clean project and download missing dependencies and components
  - cd ${TRAVIS_BUILD_DIR}/${DIR} && ./gradlew clean build

In that case, as explained below, you need to accept the license the first time via the workaround.

Full working sample using constraint-layout codelab repository for Android API level 22 to 25:

language: android
jdk: oraclejdk8
sudo: required # false for Container-Based Infrastructure, required for Sudo-enabled Infrastructure

before_cache:
  - rm -f ${TRAVIS_BUILD_DIR}/gradle/caches/modules-2/modules-2.lock # Avoid to repack it due locks
  - rm -f ${TRAVIS_BUILD_DIR}/gradle/caches/3.3/classAnalysis/classAnalysis.lock
  - rm -f ${TRAVIS_BUILD_DIR}/gradle/caches/3.3/jarSnapshots/jarSnapshots.lock

cache:
  directories:
    - ${TRAVIS_BUILD_DIR}/gradle/caches/
    - ${TRAVIS_BUILD_DIR}/gradle/wrapper/dists/

notifications:
  email: false

android:
  components: # Cookbooks version: https://github.com/travis-ci/travis-cookbooks/tree/9c6cd11
    - tools # Update preinstalled tools from revision 24.0.2 to 24.4.1
    - build-tools-25.0.2 # Match build-tools version used in build.gradle
    - platform-tools # Update platform-tools to revision 25.0.3+
    - tools # Update tools from revision 24.4.1 to 25.2.5

env:
  global:
    - DIR=constraint-layout-start # Project directory
    - API=25 # Android API level 25 by default
    - TAG=google_apis # Google APIs by default, alternatively use default
    - ABI=armeabi-v7a # ARM ABI v7a by default
    - QEMU_AUDIO_DRV=none # Disable emulator audio to avoid warning
    - GRADLE_USER_HOME="${TRAVIS_BUILD_DIR}/gradle" # Change location for Gradle Wrapper and cache
    - ANDROID_HOME=/usr/local/android-sdk-24.0.2 # Depends on the cookbooks version used in the VM
    - TOOLS=${ANDROID_HOME}/tools # PATH order matters, exists more than one emulator script
    - PATH=${ANDROID_HOME}:${ANDROID_HOME}/emulator:${TOOLS}:${TOOLS}/bin:${ANDROID_HOME}/platform-tools:${PATH}
    - ADB_INSTALL_TIMEOUT=20 # minutes (2 minutes by default)

matrix:
  include: # More Emulator API levels to build in parallel
    - env: API=24
    - env: API=23
    - env: API=22
  allow_failures:
    - env: API=23
    - env: API=22
  fast_finish: false

before_install:
  - export EMULATOR="system-images;android-${API};${TAG};${ABI}" # Used to install/create emulator
  - echo 'count=0' > /home/travis/.android/repositories.cfg # Avoid warning

install:
  # List and delete unnecessary components to free space
  - sdkmanager --list || true
  - sdkmanager --uninstall "system-images;android-15;default;armeabi-v7a"
  - sdkmanager --uninstall "system-images;android-16;default;armeabi-v7a"
  - sdkmanager --uninstall "system-images;android-17;default;armeabi-v7a"
  - sdkmanager --uninstall "system-images;android-18;default;armeabi-v7a"
  - sdkmanager --uninstall "system-images;android-19;default;armeabi-v7a"
  - sdkmanager --uninstall "system-images;android-21;default;armeabi-v7a"
  - sdkmanager --uninstall "extras;google;google_play_services"
  - sdkmanager --uninstall "extras;android;support"
  - sdkmanager --uninstall "platforms;android-10"
  - sdkmanager --uninstall "platforms;android-15"
  - sdkmanager --uninstall "platforms;android-16"
  - sdkmanager --uninstall "platforms;android-17"
  - sdkmanager --uninstall "platforms;android-18"
  - sdkmanager --uninstall "platforms;android-19"
  - sdkmanager --uninstall "platforms;android-20"
  - sdkmanager --uninstall "platforms;android-21"
  - sdkmanager --uninstall "build-tools;21.1.2"
  # Update sdk tools to latest version and install/update components
  - echo yes | sdkmanager "tools"
  - echo yes | sdkmanager "platforms;android-25" # Latest platform required by SDK tools
  - echo yes | sdkmanager "platforms;android-${API}" # Android platform required by emulator
  - echo yes | sdkmanager "extras;android;m2repository"
  - echo yes | sdkmanager "extras;google;m2repository"
  - echo yes | sdkmanager "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2"
  - echo yes | sdkmanager "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2"
  - echo yes | sdkmanager "$EMULATOR" # Install emulator system image
  # Create and start emulator
  - echo no | avdmanager create avd -n acib -k "$EMULATOR" -f --abi "$ABI" --tag "$TAG"
  - emulator -avd acib -engine classic -no-window -camera-back none -camera-front none -verbose -qemu -m 512 &
  # Start adbd, wait for device connected and show android serial
  - adb wait-for-device get-serialno
  # Show version and download Gradle Wrapper if it's not already cached
  - cd ${TRAVIS_BUILD_DIR}/${DIR} && ./gradlew --version
  # Clean project and download missing dependencies and components
  - cd ${TRAVIS_BUILD_DIR}/${DIR} && ./gradlew clean build
  # Check components status
  - sdkmanager --list || true

before_script:
  # Wait for emulator fully-booted and disable animations
  - android-wait-for-emulator
  - adb shell settings put global window_animation_scale 0 &
  - adb shell settings put global transition_animation_scale 0 &
  - adb shell settings put global animator_duration_scale 0 &
  - sleep 30
  - adb shell input keyevent 82 &

script:
  # Run all device checks
  - cd ${TRAVIS_BUILD_DIR}/${DIR} && ./gradlew connectedCheck

after_script:
  # Show tests and lint results
  - cat ${TRAVIS_BUILD_DIR}/${DIR}/*/build/outputs/androidTest-results/connected/*
  - cat ${TRAVIS_BUILD_DIR}/${DIR}/*/build/reports/lint-results.xml

Two more samples using sdkmanager and avdmanager without ${DIR} workaround:

References

Official documentation related to Auto-download missing packages with Gradle

The new Emulator options are explained in Start the Emulator from the Command Line

avdmanager explained here replaces android avd since SDK tools version 25.3.0

sdkmanager explained here also enhanced to view and accept all licenses from the command line


Previous response: Since sdkmanager replaces android script

I'm a little outdated about Travis-ci and seems extra work is required now, so it's better you check:

In your .travis.yml file add:

before_install:
  - mkdir "$ANDROID_HOME/licenses" || true
  - echo -e "
8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_HOME/licenses/android-sdk-license"
  - echo -e "
84831b9409646a918e30573bab4c9c91346d8abd" > "$ANDROID_HOME/licenses/android-sdk-preview-license"

Do not forgot to accept all the licences on the main android object:

android:
  components:
    # ...
  licenses:
    - android-sdk-license-.+
    - '.+'

If you are getting "Please install the missing components using the SDK manager in Android Studio." error you can just install the missing component with the sdkmanager command line tool:

echo y | sdkmanager "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta4"
echo y | sdkmanager "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta"

  • This article explaining contraint-layout problem for Circle-ci and Travis-ci

  • Documentation about sdkmanager provided in the Android SDK Tools package (25.2.3+)


Outdated solution: Before android script deprecation

I don't use the default Travis-ci script to install Android components and accept licenses, from here:

# Install and update SDK
function install-and-update-sdk {
    # Keep SDK packages up-to-date (only missing suggested updates are installed).
    ( sleep 5 && while [ 1 ]; do sleep 1; echo y; done ) | android update sdk -u -t 
        ${UPDATE_PKGS:-'platform-tools,tools,extra-android-m2repository,extra-google-m2repository'}
    # Install or reinstall SDK packages (if empty, all packages are installed).
    ( sleep 5 && while [ 1 ]; do sleep 1; echo y; done ) | android update sdk -a -u -t 
        ${INSTALL_PKGS:-'build-tools-23.0.3,android-23'},${TARGET_PKGS:-}
}

You can accept all the licenses at the same time if you do it like this:

# THE SETUP STAGE
# ---------------
# If you comment out this section, Travis CI will install for you the components you define here.
# Check your project requirements and the components included by default on Travis-ci VM images.
# Check required: https://github.com/google/iosched/blob/master/doc/BUILDING.md
# Check defaults: http://docs.travis-ci.com/user/languages/android/#Pre-installed-components

android:
  components:
    # Check Android SDK tools: http://developer.android.com/tools/sdk/tools-notes.html
    # Check Android SDK Platform-tools: http://developer.android.com/tools/revisions/platforms.html
    # Comment the lines below if the latest revisions of Android SDK Tools are included by default.
    # - tools
    # - platform-tools
    # ...
  licenses:
    # Check licenses: http://docs.travis-ci.com/user/languages/android/#Dealing-with-Licenses
    # By default Travis will accept all the licenses, but it's also possible to define a white list:
    # White list current android-sdk-license revision.
    # - 'android-sdk-license-5be876d5'
    # White list all android-sdk-license revisions.
    # - 'android-sdk-license-.+'
    # White list all the licenses.
    - '.+'

这篇关于Travis CI 失败,因为无法接受许可约束布局的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆