From 93a6e29aa7bfa09bd8c679e9ffc3e5f5b6575645 Mon Sep 17 00:00:00 2001 From: Shihaam Abdul Rahman Date: Tue, 10 Mar 2026 15:05:32 +0500 Subject: [PATCH] update docs --- docs/BUILDING.md | 67 +++++++++++++++--------------------------------- 1 file changed, 20 insertions(+), 47 deletions(-) diff --git a/docs/BUILDING.md b/docs/BUILDING.md index 58bcfb4..33e860d 100644 --- a/docs/BUILDING.md +++ b/docs/BUILDING.md @@ -12,22 +12,31 @@ ISO Droid requires the `isodrive` binary to function. This binary is the actual - **Source**: The binary is compiled from [nitanmarcel/isodrive](https://github.com/nitanmarcel/isodrive) - **Why required**: Android apps cannot directly access USB gadget interfaces - they need a native binary with root privileges -- **Location**: Place the compiled binary at `app/src/main/assets/bin/isodrive` -- **Architecture**: Must be compiled for ARM64 (aarch64) for modern Android devices +- **Location**: Place the binary at `app/src/main/assets/bin/isodrive` +- **Supported architectures**: ARM64 (arm64-v8a), ARM32 (armeabi-v7a), x86, x86_64 **How to obtain the binary:** -Option 1: Download precompiled binary from [isodrive releases](https://github.com/nitanmarcel/isodrive/releases) +1. Download the latest release from [isodrive-magisk releases](https://github.com/nitanmarcel/isodrive-magisk/releases/latest) -Option 2: Compile from source: -```bash -# Clone isodrive repository -git clone https://github.com/nitanmarcel/isodrive.git -cd isodrive +2. Extract the `isodrive-magisk-v.zip` file -# Build for Android (requires Android NDK) -# Follow the build instructions in the isodrive repository -``` +3. The binaries for each architecture are in the `libs/` directory: + ``` + libs/ + ├── arm64-v8a/ + │ └── isodrive + ├── armeabi-v7a/ + │ └── isodrive + ├── x86/ + │ └── isodrive + └── x86_64/ + └── isodrive + ``` + +4. Copy the binary for your target architecture to `app/src/main/assets/bin/isodrive` + - For most modern devices: use `arm64-v8a/isodrive` + - The app can bundle multiple architectures if needed ### Build Steps @@ -140,34 +149,6 @@ The Downloads screen shows curated links to operating system ISOs. - New SVG icon in `osicons/` (if applicable) - Brief description of what you added -## Project Structure - -``` -ISODroid/ -├── app/src/main/ -│ ├── assets/ -│ │ ├── bin/ -│ │ │ └── isodrive # Required binary -│ │ ├── osicons/ # OS logo SVGs -│ │ │ ├── ubuntu.svg -│ │ │ ├── archlinux.svg -│ │ │ └── ... -│ │ └── os.json # Download links -│ ├── java/sh/sar/isodroid/ # Kotlin source code -│ └── res/ # Android resources -├── docs/ -│ ├── BUILDING.md # This file -│ └── screenshots/ # App screenshots -└── README.md # Main documentation -``` - -## Code Style - -- Follow Kotlin coding conventions -- Use meaningful variable names -- Keep functions focused and small -- Add comments for complex logic - ## Testing Before submitting a PR, test on a real rooted Android device: @@ -176,11 +157,3 @@ Before submitting a PR, test on a real rooted Android device: - [ ] New OS icon displays correctly - [ ] New download link opens properly - [ ] No crashes or errors in logcat - -## Questions? - -Open an issue on the repository if you need help or have questions about contributing. - -## License - -GNU General Public License v3.0 - See [LICENSE](../LICENSE) file for details