Are AOSP build times slowing you down?
Crave.io can significantly accelerate your Android Open Source Project (AOSP) builds. This developer productivity platform reduces build times from hours to minutes, freeing you to focus on coding and innovation.
Key Benefits:
- Faster Builds: See your changes reflected in minutes, not hours.
- Streamlined Workflow: Build AOSP using your preferred IDE and tools.
- Reduced Complexity: No need to manage build dependencies or infrastructure.
Getting Started with Crave.io:
- Sign Up: Join the crave.io Discord server.
- Join Team AOSP: Request access in the #ext-foss-aosp channel on Discord.
- Explore (Optional): For an easier setup, check out crave_aosp_builder.
- Detailed Guide: Visit the opendroid wiki for a comprehensive guide.
Accessing Devspace Locally:
- Get Crave Configuration File: Download your API key from the API Keys tab.
- Setup Command Line Tool: Download the crave binary from the Downloads tab and save it in your $PATH as "crave."
Using Crave.io from a Cloud Server:
-
For Shell: Use segfault shell in your browser. Save the provided SECRET.
-
For SSH:
- Connect via SSH:
ssh root@segfault.net
(password: 'segfault'). - Save the SSH line with the SECRET key.
- Connect via SSH:
-
Setup Command Line Tool:
sudo apt-get update sudo bash -c "$(curl -fsSL https://github.com/accupara/crave/raw/master/get_crave.sh)"
Joining Devspace:
-
Download or manually copy your crave.conf file from the API Keys tab.
-
Save the config manually by pasting the contents into a file on your server using
nano crave.conf
. -
Log into your devspace by running:
crave -c ./crave.conf devspace
Cloning a Project:
- Enter Devspace: Let's build LineageOS.
- Clone Project:
crave clone list #to see all available projects crave clone create --projectID 72 lineageos
Building the Project:
-
Start the Build:
crave run --no-patch -- " repo init -u https://github.com/LineageOS/android.git -b lineage-21.0 --git-lfs --depth=1 && git clone https://github.com/username/local_manifest --depth 1 -b branch .repo/local_manifests && /opt/crave/resync.sh && source build/envsetup.sh && lunch lineage_codename-ap1a-variant && make installclean && mka bacon"
-
Check Logs: Monitor your build logs on foss.crave.io.
Syncing a Different ROM:
-
Sync and Build a Different ROM:
crave run --no-patch -- " repo init -u https://github.com/RisingTechOSS/android.git -b fourteen --git-lfs --depth=1 && git clone https://github.com/username/local_manifest --depth 1 -b branch .repo/local_manifests && /opt/crave/resync.sh && source build/envsetup.sh && lunch lineage_codename-ap1a-variant && make installclean && mka bacon"
-
Important: Only sync ROMs related to each other and avoid syncing different Android versions over the current one.
Getting Build Outputs:
-
Retrieve Build Files:
crave pull out/target/product/codename/romname.zip
If you think this guide is missing something, feel free to submit a pull request or report an issue.