GameCore 1.0
GameCore 1.0 — an Android gaming overlay, performance monitor and per-game profile manager.
The rule the whole app is built on: no number reaches the screen unless the platform actually
reported it. Every reading is either a value that names its source and precision, or an
absence that names its reason — so some cards say "Not available on this device" or
"Requires Shizuku" instead of showing a figure. That is the feature.
Download
GameCore.apk — Android 8.0 (API 26) or newer, arm64-v8a and armeabi-v7a.
size 12,126,769 bytes (11.6 MB)
sha256 b3d4c075d28ebb223d992afce51d2fd70118c649ee18d8f0523cd1655a4102a8
This is the release variant: R8 with obfuscation and resource shrinking, signed with the
project's own release key (CN=GameCore, RSA 2048) using the v2 APK signature scheme.
Certificate SHA-256:
8eef17e0163198517f765b91a29aa9414710a852281b5e6fdd6362442586d42b
With minSdk 26 the build omits the legacy v1 JAR signature entirely, so the absence of
META-INF/*.RSA is expected and does not mean the APK is unsigned — apksigner verify
reports it as verified under v2.
What is in it
- Floating overlay — a draggable gaming button that snaps to the nearer edge, survives
rotation and remembers where you left it. Tapping it opens a control panel directly below
the button: brightness, media volume, screenshot, screen recording, Do Not Disturb,
orientation lock, flashlight, and a shortcut back into the game. - Performance pill and HUD builder — sixteen stats, drag-and-drop placement on a live
preview, per-widget text size, opacity, colour and background, and saved layouts a game
profile can raise by name. - Crosshair — ten designs drawn with Compose primitives, plus an imported PNG, with size,
thickness, centre gap, rotation, opacity, colour and position. - Game profiles — refresh rate, brightness, orientation, screen timeout, volume, DND,
overlays, HUD layout, crosshair preset and performance mode, per package. Every adjustable
field is nullable and null means leave it alone, so a profile restores exactly what it
changed and nothing else. Automatic detection applies on launch and unwinds on exit; you can
also launch a game from its profile. - Monitoring — per-core CPU load and frequency, memory, battery level/temperature/voltage/
current and drain as percent per hour, thermal status, display mode, network type, latency
and throughput, free storage. Live graphs, configurable interval, sampling that stops when
nothing is watching. - Sessions — written to a SQLCipher-encrypted Room database with reports, history,
filtering, sorting and aggregate statistics. A session cut short by process death is
repaired on the next launch rather than lost.
Honesty, specifically
Refresh rate. Only rates the panel advertises are offered, and a change is reported as
applied only after it has been read back. On several MediaTek and PowerVR devices the standard
preferredDisplayModeId call is accepted without error and then ignored; GameCore says
"accepted the request but stayed at 60 Hz" and offers the Shizuku path, which works there.
FPS. Reliable per-frame timing is generally unavailable through public APIs without root
or instrumentation and varies by OEM and GPU. It is detected per device and honestly absent
when no usable signal exists.
Not in this app at all: root, game-file modification, code injection, process memory
access, anti-cheat interference, fabricated statistics, background-app killing, thermal-limit
override.
Shizuku is optional
Everything works without it. With it, ADB-level authority reaches the device-wide
refresh-rate bounds, animation scales and a few dumpsys reads Android does not expose to
ordinary apps. The command surface is a closed set — id, cat, dumpsys, settings,
getprop, and pm grant / appops set aimed at this app only — with no shell interpreter
anywhere in it, and every externally-sourced argument validated against a form before a
command is built.
Untested on hardware
The build host is an aarch64 device without a working adb, so the instrumented suite could
not be executed and the overlay, screen recording and Shizuku paths have not been exercised
end to end on a phone by the build itself. The JVM unit suite covers the geometry, the
formatters, the sanitizer, the command builder and the model invariants.