Convenience Images Update: Upcoming changes to Android images

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 than 11.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: add google() to the repositories section of build.gradle
  • For older versions of Gradle: add maven { url: 'https://maven.google.com' } to the repositories section of build.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!

3 Likes

Apologies for the late update—these changes were successfully merged to master on Friday, December 14th. Thank you!

Hey everyone, just a reminder:

Likewise, we no longer tag NDK variants with a specific version number:

https://discuss.circleci.com/t/docker-public-convenience-images-update-android-ndk

So anyone using an old NDK tag (e.g., api-27-ndk-r17b) will also not receive future updates.

Restating this point because we recently updated our images to mitigate an upstream change to the Android SDK Manager, and folks who are still using the old alpha or ndk-r17b tags will not get updated images.

You can see our new tagging scheme in action here:

https://hub.docker.com/r/circleci/android/tags

Please see my comment at the end of this GitHub issue for details:

Thanks and let us know if you have any questions!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.