Android Machine Executor Images 2022 January (Q1) Update

Hey Everyone!

Our quarterly new Android Machine Images are available and would be available with this image tag shortly:

  • android:2022.01.1

This January refresh updates software included in the image, which can be found below. See the machine executor docs for more information about how to use the machine executor and these images.

What’s New

  • Standard updates
  • Docker Compose v2
  • Docker Compose Switch

Release Cadence

There is no set release here, but expect one every 1-2 months for these images

Example

Here’s a quick usage example:

version: 2.1
workflows:
  main:
    jobs:
      - build
jobs:
  build:
    machine:
      image: android:2022.01.1
    steps:
      - checkout
      - run: echo "Do some things"

Software

Here is a list of the major software installed on each image. If multiple versions are present, the default is shown here:

Android Machine Image Android Docker Image
Docker Tag android:2022.01.1 cimg/android
Docker 20.10.12 20.10.12
Docker Compose 2.2.3 2.2.3
Docker Compose Switch 1.0.4 1.0.4
Google Cloud SDK 370.0.0 370.0.0
Android Platform 23 → 32 23 → 32
Android Build Tools 32 32
Node.js 16.13.2 16.13.2
npm 8.4.0 N/A
yarn n/a 1.22.5
Android NDK 23.1.7779620 23.1.7779620
OpenJDK 11.0.3 11.0.3
Maven 3.8.4 3.84
Gradle 7.3.3 7.3.3
cmake 3.18.1 3.18.1
Python 3.10.2 Bundled with gCloud SDK
Ruby 3.1.0 3.1.0
extras android;m2, google;m2, google play services android;m2, google;m2, google play services

I can’t use the pre-installed version of yarn on this image.

#!/bin/bash -eo pipefail yarn --version
/bin/bash: yarn: command not found
Exited with code exit status 127
CircleCI received exit code 127

Here is the job:

build_android:
    machine:
      image: android:2022.01.1
    resource_class: large
    environment:
      _JAVA_OPTIONS: -Xms5g -Xmx5g
      GRADLE_OPTS: -Dorg.gradle.jvmargs="-Xmx5g -Xms5g -XX:+HeapDumpOnOutOfMemoryError"
      CIRCLE_BUILD_NUM: << pipeline.number >>
    parameters:
      release:
        type: boolean
        default: false
    steps:

      - run: yarn --version

That is likely to be because of the image you have selected. ‘2022.03.1-node’ is listed as having yarn 1.22.5 included.

The table published above does not seem to match the images in the image library.

I thought that the image I selected was this part. Am I wrong?

image: android:2022.01.1

Change it to android:2022.01.1-node

The link I provided lists all the available images and shows which packages have been included if you click on ‘show more’. yarn is not listed in android:2022.01.1 but it is in android:2022.01.1-node

(my mistake in the earlier post when I used ‘2022.03.1-node’ instead of '2022.01.1-node)

Hi. Sorry about that. It looks like there was a typo in the chart. The Android VM image does not contain Yarn until the April release. I’ve corrected the chart above.