Android port of FNF Porter (Psych Engine ↔ V-Slice / Base Game).
Package: com.sametgkte.fnfporter
Min Android: 7.0 (API 24)
- Gusborg
- tposejank
- BombasticTom
- VocalFan
Source: FNF-Porter/Porter.py
License: CC BY-NC 4.0
- SametGkTe (GkTe Tool / GkTe Archive Tool)
- SametGkTe
This project is a non-commercial derivative. You must credit the original authors. You may not sell it.
_polymod_meta.jsonapi_versionis 0.8.5 (current Funkin)- Psych Engine → V-Slice (charts, characters, weeks, stages, audio, images, Lua → HScript)
- V-Slice → Psych Engine (charts, characters, weeks, stages, audio, images, HScript → Lua)
- Folder type check (Psych vs V-Slice)
Script conversion is best-effort. Review generated .lua / .hxc files.
Needs JDK 11+ (17 recommended) and Android SDK (platforms;android-34, build-tools;34.0.0).
export ANDROID_HOME=/path/to/Android/Sdk
export JAVA_HOME=/path/to/jdk
chmod +x build.sh
./build.shOr push to GitHub — Actions → Build & Release builds FNF-Porter-For-Mobile.apk and the Releaser job publishes it.
Every push to main / master (and every v* tag) creates or updates a GitHub Release and attaches the APK. Pull requests only upload an artifact.
| Trigger | Tag | Result |
|---|---|---|
Push to main |
v + versionName from the app (v1.0.0) |
Create or update that Release |
Push tag v1.2.0 |
v1.2.0 |
Release that tag |
| Actions → Run workflow | optional input, else app versionName |
Manual Release |
Bump android:versionName in app/src/main/AndroidManifest.xml when you want a new tag (e.g. 1.0.1 → v1.0.1). Same version on a later push updates the existing Release (APK replaced).
# optional: pin a tag yourself
git tag v1.0.0
git push origin v1.0.0Use Issues with a template:
- Script Error — Lua / HScript conversion
- Conversion Error — crash while converting
- Incomplete conversion — missing or wrong files
- Feature request
The app Create an issue button copies the log and opens the template chooser.
- Download the APK from Releases.
- Allow install from unknown sources.
- Grant All files access.
- Pick folders with Files → Use this folder.