Sign inSign up

hamdifourati/cordova-android-builder

By hamdifourati

•Updated 9 months ago

Build Cordova Application for Android using Docker

Image
Integration & delivery
Developer tools
4

4.0K

hamdifourati/cordova-android-builder repository overview

⁠cordova-android-builder

⁠🚀 Overview

cordova-android-builder is a lightweight Docker image designed to simplify the process of building Cordova Android applications. It provides a consistent and isolated environment with all the necessary tools (Node.js, npm, Cordova, Android SDK, Gradle) pre-configured, allowing you to build your Android APKs without worrying about local environment setups or conflicts.

This project is ideal for CI/CD pipelines, automated build systems, or local development where you need a clean, reproducible build environment for your Cordova Android projects.

⁠✨ Features

  • Pre-configured Environment: Includes Node.js, npm, Cordova CLI, Android SDK, and Gradle.

  • Consistent Builds: Ensures your builds are reproducible across different machines.

  • Isolation: Prevents conflicts with your local development environment.

  • Lightweight: Optimized Docker image for faster pulls and smaller footprint.

  • CI/CD Friendly: Easily integrates into your continuous integration and deployment workflows.

⁠📦 Getting Started

These instructions will get you a copy of the project image up and running on your local machine.

⁠Prerequisites

You need to have Docker installed on your system.

⁠Usage

The cordova-android-builder image expects your Cordova project to be mounted into the container at /app. You can then execute Cordova commands from within this directory.

⁠1. Pull the Docker Image

First, pull the latest version of the image from Docker Hub:

docker pull hamdifourati/cordova-android-builder:latest

Or a specific version:

docker pull hamdifourati/cordova-android-builder:12.0.0 # Example version
⁠2. Build Your Cordova Android Project

Navigate to your Cordova project's root directory on your host machine. Then, run the Docker container, mounting your project and executing the build command:

docker run --rm -v "$(pwd):/app" hamdifourati/cordova-android-builder:latest /bin/bash -c "cd /app && cordova platform add android && cordova build android --release"

Explanation of the command:

  • docker run: Executes a Docker container.

  • --rm: Automatically removes the container when it exits.

  • -v "$(pwd):/app": Mounts your current host directory (where your Cordova project is) into the container's /app directory. This is crucial for the container to access your project files and for the build output (APK) to be saved back to your host.

  • hamdifourati/cordova-android-builder:latest: Specifies the Docker image to use.

  • /bin/bash -c "...": Executes a shell command inside the container.

    • cd /app: Changes the directory inside the container to your mounted project.

    • cordova platform add android: Adds the Android platform to your Cordova project (if not already added).

    • cordova build android --release: Builds the Android application in release mode. For debug builds, remove --release.

After the command completes, your generated APK file(s) will be available in your host machine's platforms/android/app/build/outputs/apk/release/ (or debug/) directory within your Cordova project.

⁠💡 Usage Examples

⁠Building a Debug APK
docker run --rm -v "$(pwd):/app" hamdifourati/cordova-android-builder:latest /bin/bash -c "cd /app && cordova platform add android && cordova build android"
⁠Running Cordova Commands

You can run any Cordova CLI command by replacing cordova build android with your desired command.

Example: Prepare the Android platform

docker run --rm -v "$(pwd):/app" hamdifourati/cordova-android-builder:latest /bin/bash -c "cd /app && cordova prepare android"

Example: List Cordova plugins

docker run --rm -v "$(pwd):/app" hamdifourati/cordova-android-builder:latest /bin/bash -c "cd /app && cordova plugin ls"
⁠Interactive Shell

If you want to explore the environment or debug, you can open an interactive shell inside the container:

docker run --rm -it -v "$(pwd):/app" hamdifourati/cordova-android-builder:latest /bin/bash

Once inside, you can navigate to /app and run Cordova commands directly. Type exit to leave the shell.

⁠🐳 Docker Hub

The cordova-android-builder Docker image is publicly available on Docker Hub. You can find all available tags and versions there.

⁠Available Tags

We provide tags for different Cordova and Android SDK versions. It's recommended to use a specific version tag for production builds to ensure consistency.

  • latest: Points to the most recent stable build.

  • android-34: Corresponds to Cordova with Android 34.

  • cordova-12: Corresponds to Cordova 12.

  • ...and more. Check the Docker Hub page⁠ for a complete list of tags.

To use a specific version, simply replace latest with the desired tag in your docker pull and docker run commands.

⁠🤝 Contributing

Contributions are welcome! If you have suggestions for improvements, bug reports, or want to contribute code, please feel free to open an issue or submit a pull request on the GitHub repository⁠.

⁠📄 License

This project is licensed under the MIT License - see the LICENSE⁠ file for details.

⁠❓ Support / Contact

If you have any questions or need assistance, please open an issue on the GitHub repository⁠.

Tag summary

Content type

Image

Digest

sha256:65f8ca4cb…

Size

987.6 MB

Last updated

9 months ago

docker pull hamdifourati/cordova-android-builder