mirror of
https://github.com/ran-j/PS2Recomp.git
synced 2026-09-26 08:51:05 -04:00
f3687c5ae6
* 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
37 lines
1.1 KiB
Markdown
37 lines
1.1 KiB
Markdown
# 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):
|
|
|
|
```sh
|
|
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).
|
|
|
|
|
|
```sh
|
|
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.
|