Files
ISODroid/README.md
2026-03-10 14:34:55 +05:00

99 lines
3.2 KiB
Markdown

# ISO Droid
Android app for mounting ISO/IMG files as USB mass storage or CD-ROM devices on rooted Android devices.
## Screenshots
Screenshots are available in the [docs/screenshots/](docs/screenshots/) directory.
## Features
- Mount ISO/IMG files as USB mass storage or CD-ROM
- Create blank IMG files for writable USB drives
- Read-only or read-write mount options
- Persistent notification with quick unmount button
- Browse and select ISO/IMG files from device storage
- OS-specific icons for popular distributions (Linux, BSD, etc.)
- Download links to popular operating systems (Linux, BSD, Windows, Recovery tools)
- Rename and delete files
- Material 3 dynamic theming with dark mode support
## Requirements
- Rooted Android device (Magisk, KernelSU, APatch, etc.)
- USB gadget support (configfs or sysfs)
- Android 8.0+ (API 26)
## Installation
### Option 1: Install APK (Recommended)
1. Download the latest ISO Droid APK from releases
2. Install the APK
3. Grant root access when prompted
4. The app includes a bundled isodrive binary
5. Place your ISO/IMG files in `/sdcard/isodrive/` (or configure a different directory in settings)
### Option 2: Install with Magisk Module
1. Install the [isodrive Magisk module](https://github.com/nitanmarcel/isodrive-magisk/releases/latest)
2. Install the ISO Droid APK
3. Grant root access when prompted
4. Place your ISO/IMG files in `/sdcard/isodrive/` (or configure a different directory in settings)
## Building from Source
### Prerequisites
Before building the app, you need to obtain the `isodrive` binary:
1. The `isodrive` binary is compiled from [nitanmarcel/isodrive](https://github.com/nitanmarcel/isodrive)
2. Place the compiled binary at `app/src/main/assets/bin/isodrive` before building
3. The binary must be executable and compiled for the appropriate Android architecture
### Build Steps
```bash
# Clone the repository
git clone https://github.com/yourusername/ISODroid.git
cd ISODroid
# Ensure isodrive binary is present
ls -la app/src/main/assets/bin/isodrive
# Build the APK
./gradlew assembleRelease
```
## Usage
1. Open ISO Droid
2. Select an ISO/IMG file from the list
3. Choose mount options (Mass Storage or CD-ROM, Read-Only or Read-Write)
4. Tap Mount
5. Connect your phone to a PC via USB - it will appear as a USB drive/CD-ROM
6. Unmount via the app or notification when done
### Creating Custom IMG Files
1. Tap the "+" button in the top bar
2. Enter a filename and size
3. The app will create a blank IMG file that can be mounted as a writable USB drive
4. Format it on your PC after mounting (FAT32, exFAT, NTFS, etc.)
## Credits
- [isodrive](https://github.com/nitanmarcel/isodrive) by nitanmarcel - The CLI tool that powers ISO Droid
- [ISODriveUT](https://github.com/fredldotme/ISODriveUT) by fredldotme - Original inspiration for isodrive
- OS icons from [Simple Icons](https://simpleicons.org/)
## Technical Details
ISO Droid uses the `isodrive` binary to interface with the Linux USB gadget subsystem. The app:
- Bundles the isodrive binary in `app/src/main/assets/bin/`
- Extracts and executes it with root permissions at runtime
- Supports both configfs (modern) and sysfs (legacy) USB gadget modes
- Dynamically detects available OS icons for file display
## License
MIT