Run Android Wireless Debugging workflows from an iPhone or iPad.
iADB discovers Android devices on local Wi-Fi, pairs through Wireless Debugging, and gives you common ADB tools without a desktop computer. The app uses no account, ads, analytics, tracking, or developer-operated relay.
- Five focused tabs: Device, Files, Apps, Console, and Screens
- Pairing-code flow, local discovery, manual endpoints, and quick reconnect
- Native SwiftUI interface with Dynamic Type and VoiceOver support
- Shell and Logcat share one Console without mixing their controls
- Release workflow for signed archives, App Store validation, and optional TestFlight upload
| Area | Available actions |
|---|---|
| Device | Discover, pair, connect, reconnect, inspect device details, and manage saved connections. |
| Files | Browse paths, preview and download files, upload content, create folders or files, rename, move, duplicate, and delete. |
| Apps | Search, filter, and sort packages; install APKs; launch, force stop, clear data, or uninstall apps. |
| Console | Run and stop shell commands, reuse or pin history, filter Logcat, save filters, pause the live display, and export logs. |
| Screens | Capture, inspect, zoom, share, copy, save, and delete Android screenshots. |
All repository captures use the deterministic, fictional App Store fixture.
| Device | Files | Shell |
|---|---|---|
![]() |
![]() |
![]() |
| Apps | Logs | Screens |
|---|---|---|
![]() |
![]() |
![]() |
- Xcode 26+
- iOS 17+
- Homebrew
xcodegen
- Install
xcodegen:
brew install xcodegen- Generate the Xcode project:
scripts/generate-project.sh- Open
iADB.xcodeprojin Xcode. - Build and run the
iADBscheme.
scripts/generate-project.sh
xcodebuild test \
-project iADB.xcodeproj \
-scheme iADB \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro Max'Debug builds include an Android Emulator panel under Device › Settings for production-like checks against a local emulator.
Use the iADB Android Emulator scheme or enable Use Android Emulator in that panel. When the configured ADB endpoint is reachable, iADB injects a synthetic discovered device. ADBClient stays live, so connect, shell, files, apps, logcat, and screenshots still use the real ADB protocol.
Defaults:
- Host:
127.0.0.1 - Port:
5555 - Launch argument:
--iadb-debug-android-emulator - Environment overrides:
IADB_DEBUG_ANDROID_HOST,IADB_DEBUG_ANDROID_PORT
- Enable Developer Options on the Android device.
- Enable
Wireless debugging. - Open
Pair device with pairing codeon Android. - In
iADB, choose the discovered device or use manual pairing. - Enter the pairing code and connect.
Both devices must be on the same Wi-Fi network.
- SwiftUI
- The Composable Architecture
- XcodeGen
- GitHub Actions
GitHub Actions provide:
- build and test on pull requests and pushes to
main - signed App Store archive, validation, and optional TestFlight upload from version tags or a manual run
The release workflow needs Apple signing and App Store Connect secrets before it can create or upload a signed build.
Regenerate the App Store screenshots or run the offline release gate from the repository root:
scripts/capture-app-store-screenshots.sh
scripts/validate-app-store-release.sh- Expand connection diagnostics and recovery hints
- Improve file management workflows for larger transfers
- Add more automated coverage around device-specific edge cases
- Automate App Store Connect metadata delivery
iADB/app source codeiADBTests/unit and feature testsiADBUITests/UI and App Store screenshot tests.github/workflows/CI pipelinesscripts/project, test, screenshot, and release toolsapp-store/icon, screenshots, metadata, and release checklistdesign-system/UI principles and design tokens
See CONTRIBUTING.md for local setup and pull request expectations.
Released under the MIT License.





