crDroid for the Nothing Phone (2a)

Android 16  /  crDroid 12.12  /  KernelSU-Next

My own build of crDroid for the Nothing Phone (2a),tried and fixed it myself and learned along the way — it’s not released anywhere... atleast for now.

About phone: Android 16, crDroid 12.12
About phone: Android 16, crDroid 12.12
crDroid Settings
crDroid Settings
KernelSU-Next: working
KernelSU-Next: working
Home screen
Home screen
Glyph interface still works
Glyph interface still works

How it was built

Android source is huge — the sync alone was 139 GB. My laptop wasn’t going to build that, so I rented a 32-core cloud server for the night, synced crDroid 16.0 (based on LineageOS 23.2) with my own local manifest for the device, kernel and vendor trees, and built it there.

What I had to fix

The fingerprint sensorThe (2a) has a MediaTek optical under-display sensor. Two patches for it didn’t apply cleanly to crDroid, so I merged them by hand.
The camera at 60 fpsAdded the vendor parameter that turns on MediaTek’s high-frame-rate mode, so the camera app can record at 60.
Broken vendor makefilesDuplicate boot jars killed the build partway through. I regenerated the vendor makefiles and restarted it.
Root and the Play StoreKernelSU-Next as a kernel module, and Google apps baked in. Getting both to behave was one of the hardest parts.

The hard part

Getting it to boot at all. A phone that doesn’t boot is a brick, so before flashing anything I put together a rescue kit — stock images, a rollback, and a fastboot script — in case it went wrong.

The project folder: patches, rescue kit, rollback, and the 1.7 GB build
The project folder: patches, rescue kit, rollback, and the 1.7 GB build
Plugged in over adb
Plugged in over adb