All Projects → alvr → Alpine Android

alvr / Alpine Android

Licence: apache-2.0
🐋 Small docker image for building & testing Android applications.

Projects that are alternatives of or similar to Alpine Android

Uwsgi Nginx Docker
Docker image with uWSGI and Nginx for applications in Python 3.5 and above and Python 2.7 (as Flask) in a single container. Optionally with Alpine Linux.
Stars: ✭ 466 (+301.72%)
Mutual labels:  alpine, docker-image
Socat
Run socat command in alpine container
Stars: ✭ 53 (-54.31%)
Mutual labels:  alpine, docker-image
Docker Alpine Glibc
Carefully crafted Alpine Docker image with glibc (~12MB)
Stars: ✭ 581 (+400.86%)
Mutual labels:  alpine, docker-image
Uvicorn Gunicorn Docker
Docker image with Uvicorn managed by Gunicorn for high-performance web applications in Python 3.6 with performance auto-tuning. Optionally with Alpine Linux.
Stars: ✭ 244 (+110.34%)
Mutual labels:  alpine, docker-image
Docker Alpine Python Machinelearning
Small Docker image with Python Machine Learning tools (~180MB) https://hub.docker.com/r/frolvlad/alpine-python-machinelearning/
Stars: ✭ 76 (-34.48%)
Mutual labels:  alpine, docker-image
docker-alpine-miniconda3
The smallest Docker image with Miniconda3 (Python 3.7) (~143MB)
Stars: ✭ 94 (-18.97%)
Mutual labels:  alpine, docker-image
Uvicorn Gunicorn Fastapi Docker
Docker image with Uvicorn managed by Gunicorn for high-performance FastAPI web applications in Python 3.6 and above with performance auto-tuning. Optionally with Alpine Linux.
Stars: ✭ 1,014 (+774.14%)
Mutual labels:  alpine, docker-image
Docker Elasticsearch Alpine
Alpine Linux based Elasticsearch Docker Image
Stars: ✭ 154 (+32.76%)
Mutual labels:  alpine, docker-image
Docker Ruby Node
🐳 Alpine Docker Image with latest versions of Ruby, Node.js and yarn installed. This Docker Image is actively maintained and updated regularly.
Stars: ✭ 74 (-36.21%)
Mutual labels:  alpine, docker-image
Dockerfile
📦 Dockerfiles from WebDevOps for PHP, Apache and Nginx (with PHP5 and PHP7)
Stars: ✭ 1,169 (+907.76%)
Mutual labels:  alpine, docker-image
Docker Alpine Python3
The smallest Docker image with Python 3.7 (~57MB)
Stars: ✭ 218 (+87.93%)
Mutual labels:  alpine, docker-image
Docker Oidc Proxy
Docker Image built on Alpine Linux for secure OpenID Connect (OIDC) proxy authentication
Stars: ✭ 91 (-21.55%)
Mutual labels:  alpine, docker-image
Uwsgi Nginx Flask Docker
Docker image with uWSGI and Nginx for Flask applications in Python running in a single container. Optionally with Alpine Linux.
Stars: ✭ 2,607 (+2147.41%)
Mutual labels:  alpine, docker-image
Meinheld Gunicorn Flask Docker
Docker image with Meinheld and Gunicorn for Flask applications in Python. Optionally with Alpine Linux.
Stars: ✭ 336 (+189.66%)
Mutual labels:  alpine, docker-image
Docker Android Sdk
Stars: ✭ 171 (+47.41%)
Mutual labels:  alpine, docker-image
Postgresql Postgis Timescaledb
PostgreSQL + PostGIS + TimescaleDB docker image 🐘🌎📈
Stars: ✭ 19 (-83.62%)
Mutual labels:  alpine, docker-image
Dockerfiles
Phalcon Dockerfiles used for internal purposes.
Stars: ✭ 145 (+25%)
Mutual labels:  alpine, docker-image
Docker Github Pages
🐳 Alpine Docker Image for GitHub Pages and Jekyll powered sites
Stars: ✭ 147 (+26.72%)
Mutual labels:  alpine, docker-image
Dockerfiles
lots of dockerfiles, based on alpine
Stars: ✭ 69 (-40.52%)
Mutual labels:  alpine, docker-image
Uvicorn Gunicorn Starlette Docker
Docker image with Uvicorn managed by Gunicorn for high-performance Starlette web applications in Python 3.7 and 3.6 with performance auto-tuning. Optionally with Alpine Linux.
Stars: ✭ 92 (-20.69%)
Mutual labels:  alpine, docker-image

Alpine Android Docker Images

Alpine Android

GitHub build status

Docker Alpine Android Base Stars Docker Alpine Android Base Pulls

Docker Alpine Android Stars Docker Alpine Android Pulls

DockerHub Link GitHub Container Registry Link Quay Link

DockerHub Link GitHub Container Registry Link Quay Link


Variants

There are two variants of the image:

  • JDK8 images are based on adoptopenjdk/openjdk8:alpine (JDK 8u282-b08) and uses the tag's suffix -jdk8.
  • JDK11 images are based on adoptopenjdk/openjdk11:alpine (JDK 11.0.10+9) and uses the tag's suffix -jdk11.

Which one should I use?

The recommended version is JDK8 if you are not using AGP v7.0.0+ or you are using DataBinding with a version of AGP prior to v7.0.0. Otherwise you must use JDK11 version because AGP v7.0.0+ will only work with version 11+ of the JDK.

If you want to use a JDK11 image with a version of AGP prior to v7, remember that JAXB is not included and you must add the following dependencies if using DataBinding:

// In Groovy
implementation "org.glassfish.jaxb:jaxb-runtime:2.3.3"
// or in Kotlin DSL
implementation("org.glassfish.jaxb:jaxb-runtime:2.3.3")

Tagging

API level JDK8 JDK11
Base Image jdk8, latest, latest-jdk8 jdk11, latest-jdk11
Android 5.0 (21) android-21, android-21-jdk8 android-21-jdk11
Android 5.1 (22) android-22, android-22-jdk8 android-22-jdk11
Android 6.0 (23) android-23, android-23-jdk8 android-23-jdk11
Android 7.0 (24) android-24, android-24-jdk8 android-24-jdk11
Android 7.1 (25) android-25, android-25-jdk8 android-25-jdk11
Android 8.0 (26) android-26, android-26-jdk8 android-26-jdk11
Android 8.1 (27) android-27, android-27-jdk8 android-27-jdk11
Android 9.0 (28) android-28, android-28-jdk8 android-28-jdk11
Android 10 (29) android-29, android-29-jdk8 android-29-jdk11
Android 11 (30) android-30, android-30-jdk8, latest, latest-jdk8 android-30-jdk11, latest-jdk11
Android 12 (31) android-S, android-S-jdk8 android-S-jdk11

📝 The tags latest and android-XX will be using the JDK8 base image for one year after AGP 7.0.0 is released to avoid problems with currents CI/CD configurations. That date is yet TBD. After that date, if you want to continue to use JDK8, you must update your configuration with the corresponding tag.

⚠️ Android 12 is in a preview state. Preview versions are tagged differently using the letter of the version instead the API level.

Versioning

Since January 1st 2021, new versions now include the date it was published so is possible to revert to a previous version. The versioning only applies to tags with the JDK version specified. The tag's format is: android-XX-jdkZZ-vYYYY.MM.DD, where:

  • XX is the API level.
  • ZZ is the version of the JDK.
  • YYYY is the year of the release version.
  • MM is the month of the year of the release version with leading zeros.
  • DD is the day of the month of the release version with leading zeros.

A valid example would be android-30-jdk11-v2021.01.01. Here are listed all the versions.

📝 The versioning is not available for alpine-android-base.

Content

See content of Android Base image

Docker Android Base JDK8 Layers Docker Android Base JDK8 Size

Docker Android Base JDK11 Layers Docker Android Base JDK11 Size

Path Version Description Location
extras;google;instantapps 1.9.0 Google Play Instant Development SDK extras/google/instantapps/
patcher;v4 1 SDK Patch Applier v4 patcher/v4/
platform-tools 31.0.1 Android SDK Platform-Tools platform-tools/

Extend from Alpine Android Base

Use the following configuration in your Dockerfile. After that, you can install any Android package available. To install an Android package, include the following line on your Dockerfile:

RUN sdkmanager <list-of-packages>

If you want to install an Alpine package available. To install an Android package, include the following line on your Dockerfile:

RUN apk add --no-cache <list-of-packages>
See content of Android 21 image

Docker Android 21 JDK8 Layers Docker Android 21 JDK8 Size

Docker Android 21 JDK11 Layers Docker Android 21 JDK11 Size

Path Version Description Location
build-tools;21.1.2 21.1.2 Android SDK Build-Tools build-tools/21.1.2/
extras;google;instantapps 1.9.0 Google Play Instant Development SDK extras/google/instantapps/
patcher;v4 1 SDK Patch Applier v4 patcher/v4/
platform-tools 31.0.1 Android SDK Platform-Tools platform-tools/
platforms;android-21 2 Android SDK Platform 21 platforms/android-21/
See content of Android 22 image

Docker Android 22 JDK8 Layers Docker Android 22 JDK8 Size

Docker Android 22 JDK11 Layers Docker Android 22 JDK11 Size

Path Version Description Location
build-tools;22.0.1 22.0.1 Android SDK Build-Tools build-tools/22.0.1/
extras;google;instantapps 1.9.0 Google Play Instant Development SDK extras/google/instantapps/
patcher;v4 1 SDK Patch Applier v4 patcher/v4/
platform-tools 31.0.1 Android SDK Platform-Tools platform-tools/
platforms;android-22 2 Android SDK Platform 22 platforms/android-22/
See content of Android 23 image

Docker Android 23 JDK8 Layers Docker Android 23 JDK8 Size

Docker Android 23 JDK11 Layers Docker Android 23 JDK11 Size

Path Version Description Location
build-tools;23.0.3 23.0.3 Android SDK Build-Tools build-tools/23.0.3/
extras;google;instantapps 1.9.0 Google Play Instant Development SDK extras/google/instantapps/
patcher;v4 1 SDK Patch Applier v4 patcher/v4/
platform-tools 31.0.1 Android SDK Platform-Tools platform-tools/
platforms;android-23 3 Android SDK Platform 23 platforms/android-23/
See content of Android 24 image

Docker Android 24 JDK8 Layers Docker Android 24 JDK8 Size

Docker Android 24 JDK11 Layers Docker Android 24 JDK11 Size

Path Version Description Location
build-tools;24.0.3 24.0.3 Android SDK Build-Tools build-tools/24.0.3/
extras;google;instantapps 1.9.0 Google Play Instant Development SDK extras/google/instantapps/
patcher;v4 1 SDK Patch Applier v4 patcher/v4/
platform-tools 31.0.1 Android SDK Platform-Tools platform-tools/
platforms;android-24 2 Android SDK Platform 24 platforms/android-24/
See content of Android 25 image

Docker Android 25 JDK8 Layers Docker Android 25 JDK8 Size

Docker Android 25 JDK11 Layers Docker Android 25 JDK11 Size

Path Version Description Location
build-tools;25.0.3 25.0.3 Android SDK Build-Tools build-tools/25.0.3/
extras;google;instantapps 1.9.0 Google Play Instant Development SDK extras/google/instantapps/
patcher;v4 1 SDK Patch Applier v4 patcher/v4/
platform-tools 31.0.1 Android SDK Platform-Tools platform-tools/
platforms;android-25 3 Android SDK Platform 25 platforms/android-25/
See content of Android 26 image

Docker Android 26 JDK8 Layers Docker Android 26 JDK8 Size

Docker Android 26 JDK11 Layers Docker Android 26 JDK11 Size

Path Version Description Location
build-tools;26.0.3 26.0.3 Android SDK Build-Tools build-tools/26.0.3/
extras;google;instantapps 1.9.0 Google Play Instant Development SDK extras/google/instantapps/
patcher;v4 1 SDK Patch Applier v4 patcher/v4/
platform-tools 31.0.1 Android SDK Platform-Tools platform-tools/
platforms;android-26 2 Android SDK Platform 26 platforms/android-26/
See content of Android 27 image

Docker Android 27 JDK8 Layers Docker Android 27 JDK8 Size

Docker Android 27 JDK11 Layers Docker Android 27 JDK11 Size

Path Version Description Location
build-tools;27.0.3 27.0.3 Android SDK Build-Tools build-tools/27.0.3/
extras;google;instantapps 1.9.0 Google Play Instant Development SDK extras/google/instantapps/
patcher;v4 1 SDK Patch Applier v4 patcher/v4/
platform-tools 31.0.1 Android SDK Platform-Tools platform-tools/
platforms;android-27 3 Android SDK Platform 27 platforms/android-27/
See content of Android 28 image

Docker Android 28 JDK8 Layers Docker Android 28 JDK8 Size

Docker Android 28 JDK11 Layers Docker Android 28 JDK11 Size

Path Version Description Location
build-tools;28.0.3 28.0.3 Android SDK Build-Tools build-tools/28.0.3/
extras;google;instantapps 1.9.0 Google Play Instant Development SDK extras/google/instantapps/
patcher;v4 1 SDK Patch Applier v4 patcher/v4/
platform-tools 31.0.1 Android SDK Platform-Tools platform-tools/
platforms;android-28 6 Android SDK Platform 28 platforms/android-28/
See content of Android 29 image

Docker Android 29 JDK8 Layers Docker Android 29 JDK8 Size

Docker Android 29 JDK11 Layers Docker Android 29 JDK11 Size

Path Version Description Location
build-tools;29.0.3 29.0.3 Android SDK Build-Tools build-tools/29.0.3/
extras;google;instantapps 1.9.0 Google Play Instant Development SDK extras/google/instantapps/
patcher;v4 1 SDK Patch Applier v4 patcher/v4/
platform-tools 31.0.1 Android SDK Platform-Tools platform-tools/
platforms;android-29 5 Android SDK Platform 29 platforms/android-29/
See content of Android 30 image

Docker Android 30 JDK8 Layers Docker Android 30 JDK8 Size

Docker Android 30 JDK11 Layers Docker Android 30 JDK11 Size

Path Version Description Location
build-tools;30.0.3 30.0.3 Android SDK Build-Tools build-tools/30.0.3/
extras;google;instantapps 1.9.0 Google Play Instant Development SDK extras/google/instantapps/
patcher;v4 1 SDK Patch Applier v4 patcher/v4/
platform-tools 31.0.1 Android SDK Platform-Tools platform-tools/
platforms;android-30 3 Android SDK Platform 30 platforms/android-30/
See content of Android 31 image (Preview)

Docker Android S JDK8 Layers Docker Android S JDK8 Size

Docker Android S JDK11 Layers Docker Android S JDK11 Size

Path Version Description Location
build-tools;31.0.0-rc1 31.0.0-rc2 Android SDK Build-Tools build-tools/31.0.0-rc1/
extras;google;instantapps 1.9.0 Google Play Instant Development SDK extras/google/instantapps/
patcher;v4 1 SDK Patch Applier v4 patcher/v4/
platform-tools 31.0.1 Android SDK Platform-Tools platform-tools/
platforms;android-S 2 Android SDK Platform S (Preview) platforms/android-S/

Containers registries

Because of the DockerHub rate limits, the image is now in three different containers registries:

Pulling from the different registries

Replace <tag> with one of the current available tags.

DockerHub pulling

You can pull a specific Docker image from DockerHub with the following command:

docker pull alvrme/alpine-android-base:<tag>
docker pull alvrme/alpine-android:<tag>

GHCR pulling

You can pull a specific Docker image from GitHub Container Registry with the following command:

docker pull ghcr.io/alvr/alpine-android-base:<tag>
docker pull ghcr.io/alvr/alpine-android:<tag>

Quay pulling

You can pull a specific Docker image from Quay with the following command:

docker pull quay.io/alvr/alpine-android-base:<tag>
docker pull quay.io/alvr/alpine-android:<tag>

Use as Base Image

Replace <tag> with one of the current available tags.

DockerHub base image

You can use the Docker images from DockerHub as a base image for creating a new one:

FROM alvrme/alpine-android-base:<tag>
FROM alvrme/alpine-android:<tag>

GHCR base image

You can use the Docker images from GitHub Container Registry as a base image for creating a new one:

FROM ghcr.io/alvr/alpine-android-base:<tag>
FROM ghcr.io/alvr/alpine-android:<tag>

Quay base image

You can use the Docker images from Quay as a base image for creating a new one:

FROM quay.io/alvr/alpine-android-base:<tag>
FROM quay.io/alvr/alpine-android:<tag>

Run container

Replace <tag> with one of the current available tags.

The command below will create a new container based on the specific image. It will open in the /home/android directory and the various available commands in the PATH will be able to be executed. Once the container is closed, it will be deleted. To keep the container after closing it, you have to remove --rm from the command.

DockerHub run container

Run the container from the DockerHub image:

docker run --rm -it alvrme/alpine-android-base:<tag>
docker run --rm -it alvrme/alpine-android:<tag>

GHCR run container

Run the container from the GitHub Container Registry image:

docker run --rm -it ghcr.io/alvr/alpine-android-base:<tag>
docker run --rm -it ghcr.io/alvr/alpine-android:<tag>

Quay run container

Run the container from the Quay image:

docker run --rm -it quay.io/alvr/alpine-android-base:<tag>
docker run --rm -it quay.io/alvr/alpine-android:<tag>

Extras

The base image also includes the extras command that contains small utilities that are not installed by default, since their use is not widespread.

These extras are executed with the command extras <command> and are the following

Fastlane

fastlane is a tool for iOS and Android developers to automate tedious tasks like generating screenshots, dealing with provisioning profiles, and releasing your application. Visit their documentation for more information.

This command allows you to install fastlane. There are two variants:

extras fastlane

This command allows you to install the latest version of fastlane. If you want to use a specific version, the command is as follows:

extras fastlane <version>

Extending from Alpine Android Base

Read more here

Difference between Alpine Android and Alpine Android Base

The main difference between Alpine Android and Alpine Android Base is that the first one includes the corresponding build-tools and platforms;android versions. All Alpine Android versions share 95% of the code. Using a base image with the common part makes it easier to maintain.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].