Files on the device
Everything the script writes lands under the app's script root on shared
storage — the same root npm run adb and buildAndAdb push into
(Build and deploy):
/sdcard/Download/GameAutomationPlatform/
Everything the script itself writes goes in this device's own folder:
/sdcard/Download/GameAutomationPlatform/devices/<name>_<id>/
<name> is the device's name (from the app's Settings, else its model) and
<id> is the twelve-hex device id, so several emulator instances sharing one
root each keep their own files instead of overwriting one another — which is
exactly what MuMu does by default. name.txt beside the files records the
current name, and renaming a device keeps the folder it already has.
| Where | What |
|---|---|
logs/script-<device id>.log | The log: one JSON record per line, rotated at 2 MB into .1.log … .3.log. The id is the device's own — one emulator, one file — and ends every round id in the stats. At the root, not in the device folder, because the host writes it. Reading it: Log schema |
And inside devices/<name>_<id>/:
| Where | What |
|---|---|
stats/stats_<YYYYMMDD>.csv | The round statistics, one file per UTC day |
stats/tsum_list_<stamp>.csv | What Export Tsum list writes |
stats/unread-<field>-<stamp>.png | The score screen a stat could not be read from |
history/ | The last screens the router visited, numbered and named for the page it matched: 01562_GamePlaying.png, 01563_unknown.png |
reports/ | The issue-report folders, newest eight. Copy one off to send it |
hearts.json, presets.txt | The heart tally; exported presets |
corpus/, walkthrough/ | Unrecognised screens with their sidecars, and walkthrough recordings — each behind its developer option |
tmp/ | Scratch: the Debug game frames, the UI dump a dialog check leaves. Safe to empty |
Names and timestamps are UTC throughout, so a stats file named for today may be yesterday's by the PC's clock.
:::note Upgrading from an older release
Files written before this layout stay where they were, in tsum_record/ at the
root. Nothing moves them, and nothing reads them any more — except Tsum Tsum
Stats, which scans the whole tree and so still imports the old CSVs. Delete the
old folder once you have what you want out of it.
:::
The quickest route for the log and the stats is the starter's page: Export
logs & stats zips them for one device or all of them and asks where to save
it. It does not include reports/; copy that folder by one of the routes below.
MuMu Player 12
Nothing to pull. MuMu mounts its shared folder as the guest's Download, so
the root is already a folder on the PC:
C:\Users\<you>\Documents\MuMuSharedFolder\Download\GameAutomationPlatform\
Documents is wherever Windows keeps it (often under OneDrive); a shared folder
moved in MuMu's settings is under that path instead. The files are live —
open a CSV while the script plays, tail the log from there. MuMu's own toolbar
screenshot lands beside it in MuMuSharedFolder\Screenshots.
Every instance mounts the same folder. Each writes its own log — that is
what the device id in the name is for — but the stats files, hearts.json,
history/ and the reports are one set for all of them, so two instances
at once will interleave their stats.
Other emulators
The guest path is the same; the route onto the PC differs.
-
The shared folder. Copy from
Download/GameAutomationPlatform/…into it with the guest's Files app. Defaults, from each emulator's own documentation: Nox —Nox_sharein the user folder (guest/mnt/shared); BlueStacks 5 —C:\ProgramData\BlueStacks_nxt\Engine\UserData\SharedFolder(guest/sdcard/windows/BstSharedFolder), its Media Manager copies; LDPlayer — the Shared folder toolbar button. -
adb. Each emulator listens on a local port: MuMu 12
127.0.0.1:16384for the first instance and 32 higher per further one (itsadb.exeis besideMuMuManager.exeundernx_main); Nox127.0.0.1:62001; LDPlayer and BlueStacks 5127.0.0.1:5555(BlueStacks: enable Android Debug Bridge under Advanced settings).adb connect 127.0.0.1:16384adb pull /sdcard/Download/GameAutomationPlatform/devices .adb pull /sdcard/Download/GameAutomationPlatform/logs .A pulled directory is created inside the target (
./devices/,./logs/). From Git Bash on Windows prefixMSYS_NO_PATHCONV=1, or the shell rewrites/sdcard/…into a path underC:\Program Files\Git— Windows and line endings. -
A phone shows the folder under Download in the Files app and over USB in Explorer.
A screenshot of your own
What the display shows right now, floating bar included:
adb shell screencap -p /sdcard/Download/screen.png
adb pull /sdcard/Download/screen.png .
On MuMu the first line is enough — the file appears in
MuMuSharedFolder\Download\ as it is written. From Git Bash or cmd,
adb exec-out screencap -p > screen.png is the one-liner; PowerShell's > is
not byte-clean, so use the two-step form there.
For what the script saw, history/ and the report folders are the
record; Debug game on the Debug tab keeps a frame of every screen the router
visits rather than the last few. The offline harness reads any of these like a
capture — Test without a device.