It takes about 15 minutes the first time. You need a computer and a cable once. After that the phone works alone.
If you use Claude Code, Codex, Cursor, or Gemini CLI, connect the phone with a cable and give the agent this sentence:
Install OpenCyclone on my Android phone. Follow https://raw.githubusercontent.com/Exorust/opencyclone/main/INSTALL-WITH-AI.md
The agent checks your tools, gets the app, runs the setup script, and tells you what to tap on the phone. It never asks for your model key or your pairing code. You type those on the phone.
brew install openjdk@17.brew install --cask android-platform-tools.adb devices. The phone must appear with the word device.git clone https://github.com/Exorust/opencyclone.git cd opencyclone/android echo "sdk.dir=$HOME/Library/Android/sdk" > local.properties JAVA_HOME=/opt/homebrew/opt/openjdk@17 ./gradlew :app:assembleStandardDebug cd ..
The two paths are the macOS defaults. On Linux the SDK is usually in $HOME/Android/Sdk. The first build can take 10 minutes.
./setup.sh
The script installs the app and turns on what the app cannot ask for itself: the accessibility service, notification access, the microphone, and notifications. Every line of its output starts with ok: or FAILED:.
After a restart of the phone, open the app with Wi-Fi on and tap "Connect" again. You do not need the computer for that.
| What you see | What to do |
|---|---|
SDK location not found | Create android/local.properties with the sdk.dir= line from step 3. |
FAILED: No device found | Check the cable, accept the debugging question on the phone, and run adb devices. |
FAILED: More than one device | Set ANDROID_SERIAL to the serial number from adb devices, then run the script again. |
| The app says "Not connected" | Turn on Wi-Fi and Wireless debugging, then tap "Connect" in the app. |
Something else? Open an issue on GitHub. To remove the app, run adb uninstall ai.opencyclone.standard.