Ich verwende jetzt die CircleCI für mein Projekt. Außerdem implementiere ich das neue constraintLayout in meinem Projekt. Jetzt bin ich mit dem CircleCI Gebäude festgefahren. Es zeigt mir diese, wenn gradle -dependencies Lauf:CircleCI Android constraintLayout funktioniert nicht
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:
[com.android.support.constraint:constraint-layout:1.0.0-alpha3, com.android.support.constraint:constraint-layout-solver:1.0.0-alpha3].
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
Hier ist meine Konfiguration in .yml Datei:
#Install android build tools, platforms
#Supported versions here https://circleci.com/docs/android
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
ich im Buildprotokoll überprüft, wenn
echo y | android update sdk --no-ui --all --filter "extra-android-m2repository"
Befehl run und hier ist das Ergebnis:
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.
Und mein Classpath ist:
classpath 'com.android.tools.build:gradle:2.2.0-alpha4'
Ich bin nicht sicher, was ich oder ist sie falsch gemacht dort alles, was ich brauche mehr hinzuzufügen. Bitte vorschlagen. Danke.
Danke, ich fand schließlich den Weg, um die Lizenz zu CI exportieren, indem Sie diesen Abhängigkeiten vor Zugabe: - cp -r $ {HOME}/$ {CIRCLE_PROJECT_REPONAME}/android-sdk-Lizenz $ ANDROID_HOME - cp -r $ {HOME}/$ {CIRCLE_PROJECT_REPONAME}/android-sdk-Vorschau-Lizenz $ ANDROID_HOME ich habe auch android-sdk-Lizenz und android-sdk- Preview-Lizenz in meinem Repo – Jutikorn
Dies ist ein guter Tipp! Aber ich würde vorschlagen, den Inhalt der "android-sdk-license" und "android-sdk-preview-license" als zwei separate Circle CI-Umgebungsvariablen zu verwenden, da die env vars geschützt sind, was nicht unbedingt für Sie gilt VCS Repo. – dbm
@Jutikorn wo kann ich das auch herunterladen? Ich fand nur 'android-sdk-license' – Spurdow