Our android
machine image comes preinstalled with a number of useful tools for testing and deploying your Android aplpications on CircleCI.
This image contains the minimum tools required to operate a build on CircleCI (such as git
) as well as multiple Android API SDKs, the Native Development Kit (NDK), commandline tools, and more.
To use the Android machine executor and the available Android images, it is easiest to utilize the Android orb:
1
2
3
4
5
6
7
8
9
10
11
12
13
version: 2.1
orbs:
android: circleci/android@2.0.3
jobs:
build:
executor: android/android-machine
steps:
- checkout
workflows:
android-workflow:
jobs:
- build
The above example uses the Android orb Android orb to easily access the android machine executor and image in a standardized way.
To use the image directly in the machine executor, you can use:
1
2
3
4
5
6
jobs:
build:
machine:
image: android:2024.07.1
steps:
- checkout
As of Android 12 (API Level 31), the development team does not support x86 in the system-images for certain Google APIs and therefore the images are not available either from us nor Google. Please adjust using the x86
and x86_64
tags accordingly. For example, system-images;android-31;google_apis;x86_64
; there is no corresponding system-images;android-31;google_apis;x86
image.
To get a list of available packages, you can run: sdkmanager --list
for a complete list of what is offered.
One way you could achieve this is by utilizing matrices in your build:
1
2
3
4
5
6
7
matrix:
parameters:
system-image:
- system-images;android-29;google_apis;x86
- system-images;android-30;google_apis;x86
- system-images;android-31;google_apis;x86_64
- system-images;android-32;google_apis;x86_64
Additionally, there is a clear delineation in how to request, as well as the need, for location permissions from API Level 29 to API Level 30. For more information, you can reference the docs
This image contains the Ubuntu Linux operating system and everything needed to run most builds on CircleCI. This includes but is not limited to:
build-essential
package containing compiling toolsImages in this family are tagged by their release date as YYYYMM-DD.