Setting Up a Custom OTA Server for Evolution X Unofficial builds
This guide explains how to set up a custom OTA (Over-The-Air) server for your Evolution X build.
Prerequisites
- A GitHub account
- A storage server (e.g., Sourceforge, Cloudflare R2, etc.) for hosting your builds
- A properly configured Android build environment
Create an overlay in your device tree
Inside your device tree, locate the overlay-evolution folders you created and inside of them create Updater directory with its subfolders (assuming you committed the Evolution X init changes)
mkdir -p /${device}/${your_phone_codename}/overlay-evolution/Updater/res/values/Remember to replace /$device/${your_phone_codename} with the actual path to
your device tree.
In the values folder create the file strings.xml and insert the following lines where (user) is your GitHub username
strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="updater_server_url" translatable="false">https://raw.githubusercontent.com/(user)/OTA/vic/builds/{device}.json</string>
<string name="menu_changelog_url" translatable="false">https://raw.githubusercontent.com/(user)/OTA/vic/changelogs/<xliff:g id="device_name">%1$s</xliff:g>.txt</string>
</resources>Build and Setup Your OTA Repository
Build your ROM
- Create your Evolution X build using your Android build environment.
m evolution- Ensure the build is successful and all required files are generated.
- Upload the Evolution X zip file and the needed .img files to install in the target device
Upload Files to Your OTA Repository
- In your forked OTA repository, remove all the existing JSON and TXT files.
- Locate and copy the JSON file(s) into the “builds” folder of your OTA repository.
cp out/target/product/${device}/${device}.json /path/to/OTA/repo/builds/- Get your Evolution X build download link and paste it in the JSON
- Edit the JSON file as necessary to fill in all the remaining required fields for your OTA update.
Configure Changelogs
- Inside the
changelogsfolder, create a new file named(device).txtwhere(device)is your device identifier. - Add the following content to the
(device).txtfile:
- (device).txt
${device}.txt
This is Android ${version} QPRx with ${month} ${year} security patches
Notes:
==============================
- LineageOS-based source. Signed build.
- Make sure to be on ${device} firmware first.
- Clean flash is required if coming from March 2024 or older builds.
- Always dirty flash at your own risk. If your device bootloops, revert to an older build that boots.
- ${root advice}
- Play Integrity passes, RCS works (As of mm/dd/yyyy).
- Includes ${brand} camera.
Device changes:
==============================
* (List all changes for your device, including modifications to the device kernel and vendor files.)
Notable ROM changes:
==============================
* (List all major changes made to the Evolution X project repositories.)Finalize and Commit
After updating your files, commit and push your changes with a descriptive message:
git add . && git commit -m "(Device): Initial release" git pushTest your OTA build on the target device before releasing to the public.
Last updated on