CircleCI Android的constraintLayout不起作用

我现在正在为我的项目使用CircleCI 。 另外我在我的项目中实现了新的constraintLayout 。 现在我坚持CircleCI大楼。 它显示了当gradle依赖运行的时候:

File /home/ubuntu/.android/repositories.cfg could not be loaded. 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: [,]. 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 


 #Install android build tools, platforms #Supported versions here machine: java: version: openjdk8 environment: ANDROID_HOME: /usr/local/android-sdk-linux dependencies: pre: - echo y | android list sdk - echo y | android update sdk --no-ui --all --filter "tools" - echo y | android update sdk --no-ui --all --filter "platform-tools" - echo y | android update sdk --no-ui --all --filter "build-tools-24.0.0" - echo y | android update sdk --no-ui --all --filter "android-24" - echo y | android update sdk --no-ui --all --filter "extra-google-m2repository" - echo y | android update sdk --no-ui --all --filter "extra-google-google_play_services" - echo y | android update sdk --no-ui --all --filter "extra-android-support" - echo y | android update sdk --no-ui --all --filter "extra-android-m2repository" - (./gradlew -version): timeout: 360 override: #- ANDROID_HOME=/usr/local/android-sdk-linux ./gradlew dependencies - export TERM="dumb"; if [ -e ./gradlew ]; then ./gradlew clean dependencies -stacktrace;else gradle clean dependencies -stacktrace;fi #Pull any submodules checkout: post: - git submodule init - git submodule update #-PdisablePreDex is a must else gradle just dies due to memory limit #Replace test: override: - (./gradlew assemble -PdisablePreDex): timeout: 360 - cp -r ${HOME}/${CIRCLE_PROJECT_REPONAME}/app/build/outputs/apk/ $CIRCLE_ARTIFACTS - emulator -avd circleci-android22 -no-audio -no-window: background: true parallel: true # wait for it to have booted - circle-android wait-for-boot # run tests against the emulator. - ./gradlew connectedAndroidTest #Deploy when tests pass deployment: #production: # branch: master # commands: # - (./gradlew clean assembleRelease crashlyticsUploadDistributionRelease -PdisablePreFex): # timeout: 720 staging: branch: staging commands: - (./gradlew clean assembleStaging crashlyticsUploadDistributionStaging -PdisablePreFex): timeout: 720 


 echo y | android update sdk --no-ui --all --filter "extra-android-m2repository" 


 November 20, 2015 Do you accept the license 'android-sdk-license-c81a61d9' [y/n]: Installing Archives: Preparing to install archives Downloading Android Support Repository, revision 33 Installing Android Support Repository, revision 33 Installed Android Support Repository, revision 33 Done. 1 package installed. 


 classpath '' 

我不确定我做了什么不正确的事情,或者有什么需要补充的。 请build议。 谢谢。

Solutions Collecting From Web of "CircleCI Android的constraintLayout不起作用"





在构build项目之前,您需要接受许可证协议,并使用Android Studio SDK Manager完成缺失组件的安装。 或者,要了解如何将许可协议从一个工作站传输到另一个工作站,请访问


Alex Fu的回答很好地解释了问题出在哪里以及如何处理,但有一个更简单的解决scheme。 由于许可证文件实际上只是简单的文件,其中包含一串hex字符,因此您可以简单地创build它们而不进行任何复制。 一个例子是把下面的代码放到pre:部分:

 - ANDROID_HOME=/usr/local/android-sdk-linux - mkdir "$ANDROID_HOME/licenses" || true - echo "8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_HOME/licenses/android-sdk-license" - echo "84831b9409646a918e30573bab4c9c91346d8abd" > "$ANDROID_HOME/licenses/android-sdk-preview-license" - echo "d975f751698a77b662f1254ddbeed3901e976f5a" > "$ANDROID_HOME/licenses/intel-android-extra-license" 


     #Android SDK平台24
     - 如果[!  -d“/ usr / local / android-sdk-linux / platforms / android-24”]; 然后echo y |  android update sdk --no-ui --all --filter“android-24”; 科幻
     #Android SDK构build工具,修订版24.0.1
     - 如果[!  -d“/usr/local/android-sdk-linux/build-tools/24.0.1”]; 然后echo y |  android update sdk --no-ui --all --filter“build-tools-24.0.1”; 科幻
     #Android支持版本库,修订版本35 /支持库的本地Maven存储库
     - 如果[!  -d“/usr/local/android-sdk-linux/extras/android/m2repository/com/android/support/design/24.1.0”]; 然后echo y |  android update sdk --no-ui --all --filter“extra-android-m2repository”; 科幻

     -  / usr / local / android-sdk-linux / platforms / android-24
     -  /usr/local/android-sdk-linux/build-tools/24.0.1
     -  / usr / local / android-sdk-linux / extras / android / m2repository

由CircleCI员工drazisil从这篇文章 采取