A high-performance, rootless USB flashing utility for Android. Powered by a custom High-Saturation Parallel I/O Engine written in Rust.
Unlike traditional single-threaded flasher implementations, this project uses a massively parallel architecture to saturate the USB host controller and minimize Disk I/O bottlenecks.
- 32-URB Async Pipeline: Keeps the USB's DMA engine 100% busy with zero idle time between transfers.
- 256MB Prefetch Pool: Decouples Disk reading from USB writing. While one block is being flashed, the next 256MB are already being read-ahead into RAM in parallel.
- Direct SCSI Alignment: Optimizes transfer chunks to the exact hardware limits of the USB mass storage protocol (65,535 blocks), eliminating overhead.
- High-Fidelity UI: Real-time progress updates at 10Hz (100ms) with instant phase-sync for a professional, smooth experience.
- Rootless Operation: Works on non-rooted devices using the Android USB Host API.
- Raw Block Writing: Flashes images directly to the raw block device, bypassing partition table limits. Perfect for Linux Hybrid ISOs (Ubuntu, Fedora, Arch, etc.).
- SHA-256 Verification: Automatically verifies data integrity immediately after writing.
- Auto-Detection: Instantly detects and configures OTG connected USB mass storage devices.
- Safety First: Prevents common user errors by explicitly blocking incompatible Windows/macOS images.
The project is now a single, atomic unit containing the Android UI, the SDK module, and the Rust core.
-
Prerequisites:
- Android SDK & NDK r25+
- Rust 1.75+ with
aarch64-linux-androidtarget installed viarustup.
-
Clean Build & Install:
./gradlew clean installRelease
This project is licensed under the GNU Affero General Public License Version 3 (AGPL-3.0). See the LICENSE file for the full text.
Built with ❤️ by the Hyntix Team.