Files
PS2Recomp/android/README.md
Ranieri f3687c5ae6 Feature/random fixes platform support (#179)
* feat: implement memory card IOP

* feat: IOP trace

* feat: move IOP logic to ps2xIOP
refactor: small refactor on audio api on runtime

* feat: android support
feat: prevent race on GS
feat: a bit cleanup and reimplement on memory card

* feat: finish guest thread
feat: android build support
feat: vita build support with suspicious setup scripts

* feat: remove idea from track
2026-07-22 02:37:53 -03:00

1.1 KiB

Android runner

Requirements

  • Android Studio (recommended) or a local Gradle 8.7+ / JDK 17 install
  • Android SDK 34 + NDK (installed automatically by Android Studio on first sync)
  • CMake 3.22.1 from the SDK (Android Studio installs it on demand)

Building

Option A — Android Studio: open the android/ folder and run the app configuration. Option B — command line (no wrapper is committed; generate it once):

cd android
gradle wrapper --gradle-version 8.9
./gradlew assembleRelease

APK output: android/app/build/outputs/apk/release/app-release.apk.

Running a game

Since there is no argv on Android, the guest ELF path comes from PS2X_DEFAULT_BOOT_ELF, set via the ps2xBootElf Gradle property (android/gradle.properties, or -Pps2xBootElf=... on the command line).

adb install app/build/outputs/apk/release/app-release.apk
adb shell mkdir -p /storage/emulated/0/Android/data/com.ps2x.runner/files
adb push "path/to/game/." /storage/emulated/0/Android/data/com.ps2x.runner/files/

Logs: raylib output goes to logcat (adb logcat -s raylib); runtime std::cout/cerr output is not redirected to logcat yet.