How to configure Android UI on CircleCI 2.0?

Trying to upgrade my Android project to CircleCI 2.0 . Everything is in order, but the problem is with testing the Android UI with the emulator.

  • Magazine says com.android.builder.testing.api.DeviceException: No connected devices!
  • I really downloaded the emulator image and installed it (coz CircleCI by default for Android Docker the image does not come with the emulator): sdkmanager "system-images;android-22;default;armeabi-v7a" && echo "no" | avdmanager create avd -n test -k "system-images;android-22;default;armeabi-v7a" && (emulator64-arm -avd test -noaudio -no-boot-anim -no-window -accel on) &
  • adb devices does not return the device: (
+4
source share
1 answer

An example circle.yml:

version: 2
jobs:
  build:
    docker:
      - image: circleci/android:api-26-alpha
    steps:
      - run:
          name: Setup emulator
          command: sdkmanager "system-images;android-22;default;armeabi-v7a" && echo "no" | avdmanager create avd -n test -k "system-images;android-22;default;armeabi-v7a"
      - run:
          name: Launch emulator
          command: export LD_LIBRARY_PATH=${ANDROID_HOME}/emulator/lib64:${ANDROID_HOME}/emulator/lib64/qt/lib && emulator64-arm -avd test -noaudio -no-boot-anim -no-window -accel on
          background: true
      - run:
          name: Run Tests
          command: ./gradlew :demo:connectedAndroidTest

Note

  • Google, . API 26 ARM EABI v7a System Image, system-images;android-22;default;armeabi-v7a . , , sdkmanager --list --verbose | grep system-images.

  • LD_LIBRARY_PATH lib64 qt, , , ERROR: Could not load OpenGLES emulation library [lib64OpenglRender] error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file: No such file or directory Exited with code 127. Android SDK.

  • CircleCI, & , (HUP). - background: true.

+12

Source: https://habr.com/ru/post/1682689/


All Articles