We will soon be removing some offline Google Maven repositories from our Android convenience images.
Background
Earlier this year, Google moved their Android Support Library, Firebase, and Google Play Services artifacts to an online Maven repository. Users with a reasonably up-to-date build process and dependency tree will thus have no need for the offline copy.
Using the online repository will provide a superior Android development experience on CircleCI:
- The offline repositories installed with
sdkmanager extras;
have no versions of Firebase or Play Services newer than11.0.0
- The online Maven repository for the Android Support Library has versions dating back to
18.0.0
- The offline
extras;google;google_play_services
repository has no actual Maven artifacts and only contains documentation and example code, which is typically unnecessary in a CI environment - These changes will drastically reduce build times:
circleci/android
images will be nearly 2GB smaller in size and will thus download and spin up much more quickly
Possible required changes for users
If your Android project has not been updated recently, it may fail with the updated Android images. However, the steps to mitigate these changes are simple:
- For projects using Gradle versions
4.1
or newer: addgoogle()
to therepositories
section ofbuild.gradle
- For older versions of Gradle: add
maven { url: 'https://maven.google.com' }
to therepositories
section ofbuild.gradle
More information is available at developer.android.com.
Implementation
To avoid overwriting existing tags and potentially breaking customer builds for projects dependent on the offline repositories, we will be altering our tagging scheme for Android images with this change.
New Android image tags will no longer have -alpha
appended to them, and, -alpha
-tagged images will no longer receive updates.
This thread will be updated when these changes have been merged into production. Our target date is Friday, December 14th.
Thank you!