Automate Android APK & AAB Builds with GitHub Actions
AppLate is a streamlined Android Continuous Integration/Continuous Deployment (CI/CD) template that simplifies the building of Android applications. Using GitHub Actions, this template automates the creation of APK and AAB files, enabling efficient distribution. The workflow supports both debug and release builds with manual triggering for controlled release management.
✅ Automated CI/CD with GitHub Actions for APK & AAB builds.
✅ Customizable Project Setup using an initialization script.
✅ Secure Signing via environment variables.
✅ Manual Workflow Triggers for release management.
✅ Easy Artifact Downloads directly from GitHub Actions.
Ensure that your GitHub Actions workflow has the necessary read and write permissions:
- Navigate to your GitHub repository.
- Click on Settings.
- Select Actions from the left sidebar.
- Scroll down to Workflow permissions.
- Choose Read and write permissions.
- Click Save.
- Update metadata in
devAssets/_meta.json
underobjects > new
with the latest project details. - Run the Initialize workflow from the
Actions
section to replace old metadata across all Android project-related files. - Validate changes by checking:
AndroidManifest.xml
build.gradle
- Package names in source code
- Ensure no outdated references remain before proceeding.
To sign builds securely, add the following GitHub Secrets in your repository:
Secret Name | Description |
---|---|
KEYSTORE_BASE_64 |
Base64-encoded keystore file |
DEBUG_KEYSTORE_PASSWORD |
Password for the debug keystore |
DEBUG_KEYSTORE_ALIAS |
Alias for the debug keystore |
DEBUG_KEY_PASSWORD |
Password for the key |
To trigger a build, follow these steps:
- Go to GitHub Actions.
- Select the workflow:
- Build Release App → Generates production-ready builds.
- Build Debug App → Generates test/debug builds.
- Download build artifacts (
release-build.zip
ordebug-build.zip
) after the workflow completes.
- XML formatting is done using Android XML Formatter.
- This workflow is inspired of Lloyd Dcosta’s workflow example on Medium and further enhanced by @MFM-347.
This project is licensed under the Apache 2.0 License.