Files
ARMSX2/platforms/android
jpolo1224 2443ad72cf Saves: only offer Save when a VM is actually running
Opened from the library's long-press menu the Save Manager showed a Save button
next to Load, which cannot mean anything: nothing is booted, so there is no
running game to snapshot.

The button was gated on canUseWithActiveGame, which means 'this state belongs to
the game in context' — a different question, and one that only started answering
true here when contextGame was wired up in the previous commit. Saving needs a
live VM; loading does not, because it can boot the game first. The two
conditions were conflated and the fallback fix exposed it.

Now gated on hasActiveVm, read from NativeApp.hasActiveVM() during refresh. Load
and Delete are untouched: both are meaningful without a running game.
2026-08-21 11:04:52 -04:00
..

ARMSX2

PlayStation 2 Emulator for Android based on the work of PCSX2

App version

The Android app version is configured in app/build.gradle.kts under android.defaultConfig:

versionCode = providers.gradleProperty("armsx2.versionCode").orNull?.toInt() ?: 1088
versionName = providers.gradleProperty("armsx2.versionName").orNull ?: "2.5.8"

Change versionName to the user-facing release version and increment the integer versionCode for every published APK or AAB. Release scripts can still override these defaults with -Parmsx2.versionName=... and -Parmsx2.versionCode=....

Android APK builds

Release/test APKs should be built with the universal page-size builder:

./tools/build-universal-page-apk.sh ~/Downloads/ARMSX2-Refresh-UniversalPage.apk

The script compiles both 4K and 16K ARM64 emucore variants, packages them into one APK, signs it, and verifies 16K zip alignment. This keeps one distributable APK working correctly on both older 4K-page devices and newer 16K-page devices.