Config-driven CI builds for Android
Multi-source β’ Multi-architecture β’ GitHub Actions Powered
A sophisticated, automated pipeline that assembles installable Android applications for non-rooted devices. The system fetches build tooling, downloads base APKs from multiple sources, applies community build configurations, and produces architecture-specific outputs.
Note: This repository hosts no downloadable files. Builds are produced automatically every day at 06:00 UTC for personal use. See the Disclaimer below.
The full list of supported apps lives in patch-config.json (95 apps and growing). Each app can target arm64-v8a, armeabi-v7a, and/or universal builds, configured in arch-config.json.
( Legend: β = Available / β = Not configured )
This repository utilizes a robust Python-based pipeline to ensure high reliability and optimization.
- Fully Automated: GitHub Actions workflow executes daily at 06:00 UTC, requiring zero manual intervention.
- Architecture Optimization: Builds specific
arm64-v8a,armeabi-v7a, anduniversalAPKs to reduce file size and improve performance on target devices. - Multi-Source Strategy: Intelligent fetching from APKMirror, APKPure, and Uptodown ensures high success rates even if one source is down.
- Granular Build Control: Simple text-based configuration allows for precise inclusion or exclusion of specific build options.
- Smart Failover: The system automatically switches download sources if a fetch attempt fails.
- Auto-Signing: All APKs are signed with a consistent public keystore, making them ready to install immediately.
- Clean Release Cycle: Previous releases are replaced rather than archived, preventing clutter and making it easy for external managers (like Orion) to track updates.
Morphe-AutoBuilds/
βββ .github/workflows/ # GitHub Actions automation
β βββ patch.yml # Daily automated builds (06:00 UTC)
β βββ manual-patch.yml # Manual trigger workflow
βββ apps/ # APK source configurations
β βββ apkmirror/ # APKMirror definitions
β βββ apkpure/ # APKPure definitions
β βββ uptodown/ # UptoDown definitions
βββ patches/ # Build option rules
βββ sources/ # Morphe tool source definitions
βββ src/ # Core Python build logic
βββ arch-config.json # Architecture build matrix
βββ patch-config.json # App build configuration
βββ requirements.txt # Project dependencies
This builder is highly configurable. You can adjust the following files to customize the build output.
Define which applications the pipeline should attempt to build.
{
"patch_list": [
{ "app_name": "youtube", "source": "morphe" },
{ "app_name": "youtube-music", "source": "morphe" },
{ "app_name": "X", "source": "crimera" }
]
}
Specify which CPU architectures to target for each application.
[
{
"app_name": "youtube",
"source": "morphe",
"arches": ["arm64-v8a", "armeabi-v7a", "universal"]
},
{
"app_name": "youtube-music",
"source": "morphe",
"arches": ["arm64-v8a", "armeabi-v7a"]
}
]
Located in the apps/ directory. Example for apps/apkmirror/youtube.json:
{
"org": "google-inc",
"name": "youtube",
"type": "APK",
"arch": "universal",
"dpi": "nodpi",
"package": "com.google.android.youtube",
"version": ""
}
Located in patches/. Example for patches/youtube-morphe.txt. Use + to force include and - to exclude.
# Essential options
+ microg-support
+ premium-heading
+ hide-infocard-suggestions
# Exclusions
- custom-branding
- amoled
If you prefer to build the APKs on your own machine, follow these steps.
- Python 3.11 or higher
- Java Runtime Environment (JRE)
ziputilityapksigner(part of Android SDK Build-Tools)
- Clone the repository:
git clone https://github.com/RookieEnough/morphe-AutoBuilds.git
cd Morphe-AutoBuilds
- Install dependencies:
pip install -r requirements.txt
pip install requests beautifulsoup4
- Run the build: You can build for a specific app and source.
export APP_NAME="youtube"
export SOURCE="morphe"
python -m src
- Target specific architecture (Optional):
export APP_NAME="youtube"
export SOURCE="morphe"
export ARCH="arm64-v8a" # Options: arm64-v8a, armeabi-v7a, universal
python -m src
- Schedule: Runs daily at 06:00 UTC.
- Function: Iterates through all configured apps and architectures.
- Output: Refreshed build outputs for the configured apps.
- Trigger: Manually via the GitHub Actions "Run workflow" button.
- Capabilities:
- Target specific apps.
- Target specific architectures.
- Force specific APK versions.
- Option to update the public release or just build artifacts.
Contributions to improve the toolchain or add support for new apps are welcome.
- Fork the repository.
- Create a feature branch (
git checkout -b feature/new-app). - Test your changes locally using the Python scripts.
- Commit your changes (
git commit -m "Add support for new-app"). - Push to the branch (
git push origin feature/new-app). - Open a Pull Request.
Important: This repository is a build-automation toolkit. It contains no APK files, no binaries, and no copyrighted media of any kind. Nothing here is a downloadable app.
- No binaries hosted: All build outputs are produced locally or in CI and are never committed to this repository.
- Educational purpose: The workflows and scripts are provided for educational and research purposes, to demonstrate automated Android build pipelines.
- Affiliation: This project is not affiliated with the Morphe Team or with any app publisher whose software it can process.
- Your responsibility: You are responsible for complying with the licenses and terms of service of the apps and build sources you choose to use. Do not redistribute builds in ways that violate those terms.
- Use at your own risk: Builds are generated automatically from third-party sources and may contain experimental features.
- GmsCore: Morphe's MicroG-RE is required for these non-root apps to function correctly.
If you found this project helpful, please consider giving it a β Star.
Made with π by RookieZ
