0

Android アプリケーションで retrolambda を使用し、github リポジトリの継続的インテグレーションとして circleci.com を使用しています。

問題は、ローカルの Mac 環境を Java_Home と Java7_Home 用に構成したことです。すべて問題ありませんが、この問題に対して circleci yml ファイルを構成する方法がわかりません。

ここに私のアプリケーションリポジトリがあります:

https://github.com/mmirhoseini/weather_app

.bash_profile ファイルのローカル構成は次のとおりです。

export JAVA_HOME=`/usr/libexec/java_home`
export JAVA7_HOME=`/usr/libexec/java_home -v 1.7`

これは私の circleci.yml ファイルです:

#
# Build configuration for Circle CI
#

general:
    artifacts:
        - /home/ubuntu/weather_app/app/build/outputs/apk/

machine:
    environment:
        ANDROID_HOME: /usr/local/android-sdk-linux

    java:
      version: openjdk8

dependencies:
    override:
        - echo y | android update sdk --no-ui --all --filter tools,platform-tools,build-tools-23.0.3,android-23,extra-google-m2repository,extra-google-google_play_services,extra-android-support
        - ANDROID_HOME=/usr/local/android-sdk-linux ./gradlew dependencies

test:
    override:
        - (./gradlew assemble):
            timeout: 360

        - (./gradlew test):
            timeout: 360

これが circleci エラー ログです。

> Building 10%When running gradle with java 8, you must set the path to the old jdk, either with property retrolambda.oldJdk or environment variable JAVA5_HOME/JAVA6_HOME/JAVA7_HOME

助けてください...

4

1 に答える 1

1

最終的に問題が解決し、古いJavaバージョンをダウンロードしてJava6_homeを設定し、その後ビルドしてテストを実行して環境を準備しました。

ここに私の circleci.yml ファイルがあります:

#
# Build configuration for Circle CI
#

general:
    artifacts:
        - /home/ubuntu/weather_app/app/build/outputs/apk/
        - /usr/lib/jvm/

machine:
    environment:
        ANDROID_HOME: /usr/local/android-sdk-linux
        JAVA6_HOME: /usr/lib/jvm/java-6-openjdk-amd64

    java:
      version: openjdk8

dependencies:
    override:
        - echo y | sudo apt-get update
        - echo y | sudo apt-get install libpango-1.0-0
        - echo y | sudo apt-get install openjdk-6-jre

        - echo y | android update sdk --no-ui --all --filter tools,platform-tools,build-tools-23.0.3,android-23,extra-google-m2repository,extra-google-google_play_services,extra-android-support
        - ANDROID_HOME=/usr/local/android-sdk-linux ./gradlew dependencies

test:
    override:
        - (./gradlew assemble):
            timeout: 360

        - (./gradlew test):
            timeout: 360
于 2016-05-28T12:29:52.153 に答える