Earlier, Cirrus CI gave the ROM Builders community servers for OSS developement of Android builds, as these builds need a lot of resources that most people don't have lying around, like double digit RAM requirements (GB), triple digit storage requirements (GB), a capable processor, a specific Linux environment, etc.
Cirrus CI has discontinued ROM Builders around Nov 2023. Now, crave.io is providing Build Servers with a pretty similar Queue System. It is also a lot more flexible as it allows custom commands, has Docker image support, allows entering into build storage without starting a build, etc.
This guide attempts to help new and old users with Android development and using crave.io through Devspace CLI and alternatively, Github Actions.
Here are some useful guides, links and write-ups for using Crave.io resources for building android ROMs:
- Crave Devspaces CLI
- Crave Devspaces CLI - Rules
- Crave Devspaces CLI - Additional Tips and Tricks
- Crave Devspaces CLI - Signing Builds(Advanced/WIP)
- Crave AOSP Builder (Github Actions)
Here are some general links and guides:
- Building 101
- Glossary of key terms
- Debugging/Taking Logs
- IMY's Bringup Guides
- Notes for Samsung Exynos Devices
Here, we have some more useful resources:
- Google's AOSP Build Guide
- Lineage Build Guide
- Divest OS (EOL) Build Guide
- Lopestom's Bringup guides
- RealOGs Bringup Guide
- DaltonFury42's Build Guide
- AtlanPrime's Build Guide
- Mohamed Rashik's AOSP Build Guide
- Robin W. Hunter's Build Guide
- AlaskaLinuxUser Youtube
- AlaskaLinuxUser Blog
- Awesome Android AOSP
- LineageOS Vendor Tree Guide
Here are resources useful for GSI developers and users:
Here are some guides on signing builds: (avoid using on Crave)
- Inline Guide for Dev-Keys by A2L5E0X1
- Inline Guide by CrDroid
- Detailed Guide by LineageOS
- Detailed Guide by AOSP
Here is some documentation to deal with SELinux:
Here, you can find some useful scripts to make things easier while developing
- Azwhikaru's Action-TWRP-Builder
- Build Recoveries Online using Github Actions
- SebaUbuntu's Twrpdtgen
- Generate a minimal android device tree to start work on building a recovery like TWRP
- SebaUbuntu's Aospdtgen
- Generate a minimal android device tree to start work on building LineageOS
- DumprX
- Extract your OEM's default ROMs to import things like Modules, Prebuilt Kernel, Vendor Blobs, Audio Configations, etc.
- cd-Crypton's extract_proprietary_blobs
- Create a Vendor Tree from a Dump using Github Actions
- Manifest Tester
- Test local and rom manifest xml files to ensure sync works as expected
- Local Manifest Generator
- Quickly generate local manifests from git clone, rm and repo init commands