2017-06-23 3 views
0

git labでアンドロイドプロジェクトを作成します。私はパイプラインを使用しようとしています。Git labパイプラインAndroidプロジェクト

メッセージ

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.

で失敗したビルドするにはどうすれば自動的にこのライセンスを受け入れることができますか? --no-ui --allを追加するだけでは不十分です(既に追加しようとしています)。

ここで提示されたすべての解決策を試しました(ライセンス契約に同意して完了する必要があります)。

誰かが実際にgitのラボパイプラインを作成するために管理していますか?

私の.gitlab-ci.yml以下。

image: openjdk:8-jdk 

variables: 
    ANDROID_COMPILE_SDK: "24" 
    ANDROID_BUILD_TOOLS: "25.0.3" 
    ANDROID_SDK_TOOLS: "25.0.3" 

before_script: 
    - export ANDROID_HOME=$PWD/ 
    - export PATH=$PATH:$PWD/ 
    - apt-get --quiet update --yes 
    - apt-get --quiet install --yes wget tar unzip lib32stdc++6 lib32z1 
    - wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/tools_r${ANDROID_SDK_TOOLS}-linux.zip 
    - unzip android-sdk.zip 
    - echo y | tools/android --silent update sdk --no-ui --all --filter android-${ANDROID_COMPILE_SDK} 
    - echo y | tools/android --silent update sdk --no-ui --all --filter platform-tools 
    - echo y | tools/android --silent update sdk --no-ui --all --filter build-tools-${ANDROID_BUILD_TOOLS} 
    - echo y | tools/android --silent update sdk --no-ui --all --filter extra-android-m2repository 
    - echo y | tools/android --silent update sdk --no-ui --all --filter extra-google-google_play_services 
    - echo y | tools/android --silent update sdk --no-ui --all --filter extra-google-m2repository 
    - chmod +x ./gradlew 

stages: 
    - build 

build: 
    stage: build 
    script: 
    - ./gradlew assembleDebug --stacktrace 
    artifacts: 
    paths: 
    - app/build/outputs/ 

答えて

0

sdkmanager cliは、sdks/acceptライセンスを更新するために使用できます。 は私がfinnally sdkmanagerを使用して問題を解決するには、

echo y | tools/bin/sdkmanager --licenses

+0

' sdkmanager'コマンドはツールzipには含まれていないので、sdk全体をダウンロードする必要があります。 – Panciz

0

を実行できるすべてのライセンスを受け入れるには、私は私の元の質問には、コードのようなtoolszipの代わりにsdkzipをダウンロードする必要がありました。

これは私が、私はそれが高速で、はるかに少ないの問題を引き起こすthis gitlab-ci-android docker image

を使用終わりgitlab問題追跡

image: openjdk:8-jdk 

variables: 
    ANDROID_COMPILE_SDK: "24" 
    ANDROID_BUILD_TOOLS: "25.0.3" 
# ANDROID_SDK_TOOLS: "25.0.3" 
    ANDROID_SDK_TOOLS_REV: "3859397" # "26.0.1" 

before_script: 
    - mkdir $HOME/.android # For sdkmanager configs 
    - echo 'count=0' > $HOME/.android/repositories.cfg # Avoid warning 
    - wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_TOOLS_REV}.zip 
    - mkdir $PWD/android-sdk-linux 
    - unzip -qq android-sdk.zip -d $PWD/android-sdk-linux 
    - export ANDROID_HOME=$PWD/android-sdk-linux 
    - export ANDROID_NDK_HOME=$ANDROID_HOME/ndk-bundle # Remove if you don't need NDK 
    - export PATH=$PATH:$ANDROID_HOME/platform-tools/:$ANDROID_NDK_HOME 
    - echo y | $ANDROID_HOME/tools/bin/sdkmanager --update 
    - echo y | $ANDROID_HOME/tools/bin/sdkmanager 'tools' 
    - echo y | $ANDROID_HOME/tools/bin/sdkmanager 'platform-tools' 
    - echo y | $ANDROID_HOME/tools/bin/sdkmanager 'build-tools;'$ANDROID_BUILD_TOOLS 
    - echo y | $ANDROID_HOME/tools/bin/sdkmanager 'platforms;android-'$ANDROID_COMPILE_SDK 
    - echo y | $ANDROID_HOME/tools/bin/sdkmanager 'extras;android;m2repository' 
    - echo y | $ANDROID_HOME/tools/bin/sdkmanager 'extras;google;google_play_services' 
    - echo y | $ANDROID_HOME/tools/bin/sdkmanager 'extras;google;m2repository' 
    - chmod +x ./gradlew 
0

Nick Petrovsky postからコピーされ、最終的なコードです:

before_script: 
    - export GRADLE_USER_HOME=`pwd`/.gradle 
    - mkdir -p $GRADLE_USER_HOME 
    - chmod +x ./gradlew 

cache: 
    paths: 
    - .gradle/wrapper 
    - .gradle/caches 

build: 
    stage: build 
    script: 
    - ./gradlew assemble 

test: 
    stage: test 
    script: 
    - ./gradlew check 
関連する問題