1. Overview & Architecture
Dedroid is an open-source terminal application crafted by StrangeInfinity that installs and runs a modern Debian 13 (Trixie) rootfs on Android using rootless PRoot virtualization.
Unlike standard Android chroots or virtual machines that require root access or heavy hardware emulation (QEMU), Dedroid intercepts Linux system calls using ptrace through PRoot. This enables standard Debian ELF binaries to execute directly on the host ARM or x86 processor at native speeds while presenting an isolated Unix root filesystem.
The Android host client is engineered entirely in native Kotlin leveraging Google's modern Android Jetpack architecture, Kotlin Coroutines for non-blocking I/O with the terminal pseudo-terminal (PTY) daemon, and Android Foreground Services to keep background compilation tasks alive.
2. Installation & Getting Started
Dedroid is distributed as a standalone, self-contained signed APK. It bundles the compressed Debian 13 rootfs and PRoot binaries so you can set up offline without needing initial GitHub or Git access.
Download Link
Download the official package directly:
dedroid-signed.apk (First Release)
First-Time Setup Wizard
When you launch Dedroid for the first time, the interactive Setup Wizard prompts you for:
- Username: Your desired Linux login name (e.g.
ayush,developer). - Display Name: Your full user identity name for Git and system logs.
- Timezone: Automatically detected from your phone (e.g.
Asia/Kolkata,UTC,America/New_York).
The wizard automatically provisions /etc/passwd, /etc/shadow, /etc/group, and generates your home directory at /home/<username>.
3. Coding Toolbar Reference
Typing code on standard soft keyboards can be frustrating because brackets, pipes, and control modifiers are buried behind multiple submenu taps. Dedroid includes a dedicated hardware-style extra keys row:
Toolbar Shortcuts
- CTRL + C: Sends
SIGINTto terminate running processes. - CTRL + D: Sends
EOFto exit interactive shells. - CTRL + Z: Sends
SIGTSTPto background the foreground task. - TAB: Triggers Bash autocompletion for files, paths, and binaries.
- <> Button (Top Bar): Toggles between Full Coding Mode (brackets + pipes) and Compact Navigation Mode (modifier + arrows).
4. Android /sdcard Storage Access
Dedroid bridges Debian directly with your Android device's primary storage:
Permission Check: If storage is blocked, tap the folder icon on the top action bar to prompt Android's runtime storage permissions dialog.
5. Passwordless Sudo & PAM Bridge
Dedroid provides full administrative capability without requiring device root:
The custom PAM bridge configures /etc/sudoers.d/010_dedroid-nopasswd granting ALL=(ALL) NOPASSWD: ALL to your user account while remaining contained inside the PRoot sandbox.
6. Package Management with APT
Because Dedroid is genuine Debian 13 (Trixie), you have access to the entire Debian package ecosystem:
7. Background Execution & Notification
Android aggressively terminates background tasks unless an active foreground service is bound. Dedroid maintains a persistent TerminalService notification with:
- Active session counter (e.g.
2 sessions active) - Quick re-open intent on notification click
- One-tap "Close Session" button in notification actions to cleanly terminate background jobs
8. Building Dedroid from Source
You can compile Dedroid from source using Android Studio or the command line Gradle wrapper:
9. Troubleshooting & FAQ
Permission Denied on /sdcard
Android 11+ enforces Scoped Storage. Tap the folder icon in the top toolbar to grant "All files access" (MANAGE_EXTERNAL_STORAGE) to Dedroid.
Process terminated with Signal 9
On aggressive Android ROMs (MIUI, ColorOS, OneUI), the OEM "phantom process killer" may terminate memory-intensive builds. Disable battery optimization for Dedroid in Android System Settings > Apps > Dedroid > Battery > Unrestricted.