ANDROID / ARM64 BUILD GUIDE

Build guide — Android port

Build the Android port from a Git checkout with pinned dependencies. Use a separate QA application to test without replacing the stable installation.

STABLE RELEASERelease: v1.0.0Fresh dependency bootstrap: PASSSigned release gate: PASSReference target: Retroid Pocket 5

01 / RELEASE IDENTITY

Exact stable baseline

Releasev1.0.0
Release source commitd40e02b00e5e59b956b18fdd2a13a41672090b2c
Packageio.github.raposomiguel50.systemshock
APK SHA-256a6dcb7f76374dd7d4f7e39f0ecc08446f2956a33bda7655d699d5ba639b8526f
Signing certificate SHA-256806d9cb061de67aa6953cdac573bd917da6aa17625964c2898d23e226bd5323b
Shockolate baseline4cc3d07dfff2d11b6d3a0a9960a51cf4ca253690
SDL2.32.10 — 5d249570393f7a37e037abf22cd6012a4cc56a71
SDL_mixer2.8.1 — 171eb2d420d5643e4ee11514a06e04a41a463bbd
ABIarm64-v8a

02 / TOOLCHAIN

Windows / PowerShell 7 build path

JDK17
Gradle8.1.1 via included wrapper
Android SDKPlatform 34 + Build Tools 34.0.0
NDK29.0.14206865
CMake3.22.1 from the Android SDK

1. Get the source

Clone https://github.com/raposomiguel50/system-shock-android.git and check out tag v1.0.0. The build helpers need the clone's Git metadata; a source ZIP is not equivalent.

2. Bootstrap dependencies

Run pwsh -File .\scripts\bootstrap-deps.ps1. The helper obtains SDL and SDL_mixer at the exact pinned commits into the ignored .deps directory.

3. QA build

Run pwsh -File .\scripts\qa-gate.ps1. This builds the isolated QA variant and runs semantic APK verification.

4. Signed build

Independent builders can configure their own release signing environment as documented in docs/RELEASE.md and run pwsh -File .\scripts\release-gate.ps1. Their certificate will naturally differ from the official release identity.

03 / GAME DATA

Bring your own compatible resources

The repository and APK deliberately exclude System Shock commercial resources.

Expected layout

Prepare a legally obtained compatible res folder containing both data and sound.

Public first-run path

Install the stable APK, launch it, choose Select res folder, select the compatible folder and approve access. The importer stages the copy before activation.

Private storage

The imported resources are stored in the application's private Android files area. Keep your original lawful game data separately; uninstalling an app may remove its private storage.

04 / RELEASE CHECKS

Evidence completed for v1.0.0

Public CIPASS. PowerShell validation, pinned dependency bootstrap, QA build and QA APK verification completed.
Clean local final gatePASS. V1_FINAL_LOCAL_GATE=PASS.
Signed releasePASS. Non-debuggable ARM64 release APK built with the stable certificate.
Release manifestPASS. Package, version, source commit, certificate and APK hash agree.
Public download verificationPASS. Re-downloaded GitHub APK SHA-256 matches a6dcb7f7…8526f.
Commercial data boundaryPASS. No System Shock commercial game data is bundled.

The official release's private signing key is intentionally not reproducible or public. Reproducibility applies to source, pinned dependencies, documented toolchain and build behavior; the signing key is an identity credential.

05 / COMPATIBILITY

Independent compatibility reports

Retroid Pocket 5 is the validated reference device. Other Android 13+ ARM64 devices may be compatible, but are only added to the validated matrix after independent testing.

Open a structured compatibility or bug report