Circle CI Интеграция

Я в основном схожу с ума, пытаясь интегрировать приложение Android с CircleCI.

У меня есть следующий файл конфигурации версии 2.0 согласно документации.

version: 2

jobs:
  build:
    docker:
      - image: circleci/openjdk:8-jdk

      working_directory: ~/repo

      environment:
        ANDROID_HOME: /usr/local/android-sdk-linux
        JVM_OPTS: -Xmx3200m
        TERM: dumb

     dependencies:
       pre:
         - echo y | android update sdk --no-ui --all --filter tools,platform-tools,build-tools-23.0.1,android-23,extra-google-m2repository,extra-google-google_play_services,extra-android-support,extra-libs/android-support-v7-cardview.jar,extra-libraryForFloatingButton,extra-libs/engine.io-client-0.5.0.jar,extra-libs/httpmime-4.2.5.jar,extra-libs/okhttp-2.3.0.jar,extra-libs/okhttp-ws-2.3.0.jar,extra-libs/okio-1.3.0.jar,extra-libs/socket.io-client-0.5.0.jar,extra-com.crashlytics.sdk.android:crashlytics:2.5.5@aar
         - chmod +x gradlew
         - ANDROID_HOME = /usr/local/android-sdk-linux ./gradlew dependencies

    steps:
      - checkout
      - run: gradle dependencies    
      - run: gradle test

Теперь я получаю сообщение об ошибке, как показано ниже. Я не могу найти никакого решения для этого, а также какой-либо твердый шаблон для CircleCI Config 2.0.

NDK is missing a "platforms" directory.
If you are using NDK, verify the ndk.dir is set to a valid NDK directory.  
It is currently set to /usr/local/android-sdk-linux/ndk-bundle.
If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.properties to remove this warning.


FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':app'.
> The SDK directory '/usr/local/android-sdk-linux' does not exist.

1 ответ

Решение

Похоже, вы не используете правильный образ Docker для Android. Согласно документации это должно быть:

docker:
  - image: circleci/android:api-25-alpha

Или что-то в этом роде с предустановленным Android SDK. Вот список доступных изображений Docker.

Вот пример конфигурации по ссылке, которую я разместил выше:

version: 2
jobs:
  build:
    working_directory: ~/code
    docker:
      - image: circleci/android:api-25-alpha
    environment:
      JVM_OPTS: -Xmx3200m
    steps:
      - checkout
      - restore_cache:
          key: jars-{{ checksum "build.gradle" }}-{{ checksum  "app/build.gradle" }}
      - run:
          name: Download Dependencies
          command: ./gradlew androidDependencies
      - save_cache:
          paths:
            - ~/.gradle
          key: jars-{{ checksum "build.gradle" }}-{{ checksum  "app/build.gradle" }}
      - run:
          name: Run Tests
          command: ./gradlew lint test
      - store_artifacts:
          path: app/build/reports
          destination: reports
      - store_test_results:
          path: app/build/test-results
Другие вопросы по тегам