Używam teraz CircleCI dla mojego projektu. Również wdrażam nowy constraintLayout w moim projekcie. Teraz utknąłem w budynku CircleCI. To pokazuje mi to, kiedy Gradle -dependencies Run:CircleCI Android constraintLayout nie działa
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
Oto moja konfiguracja w .yml pliku:
#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
sprawdziłem w dzienniku budowy poleceń podczas
echo y | android update sdk --no-ui --all --filter "extra-android-m2repository"
uruchom i tutaj jest wynik:
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.
A moja ścieżka klasy jest:
classpath 'com.android.tools.build:gradle:2.2.0-alpha4'
Nie jestem pewien, co robiłem nieprawidłowo lub jest coś muszę dodać więcej. Proszę zasugeruj. Dzięki.
Dzięki, ale w końcu znalazł drogę do eksportu licencji do CI dodając je do zależności pre: - cp -r $ {HOME}/$ {CIRCLE_PROJECT_REPONAME}/android-sdk-license $ ANDROID_HOME - cp -r $ {HOME}/$ {CIRCLE_PROJECT_REPONAME}/android-sdk-preview-license $ ANDROID_HOME Dodałem też do Androida-sdk-license i android-sdk- podgląd-licencja w moim repozynie – Jutikorn
To jest świetna wskazówka! Ale proponuję umieszczenie zawartości "android-sdk-license" i "android-sdk-preview-license" jako dwóch oddzielnych zmiennych środowiska IK, ponieważ chronione są env vars, co niekoniecznie jest prawdziwe dla twojego Repo VCS. – dbm
@Jutikorn gdzie mogę to również pobrać? Znalazłem tylko "android-sdk-license" – Spurdow