- C# 95.5%
- Shell 4.5%
| .vscode | ||
| project | ||
| test_data | ||
| tools | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| README.md | ||
Song Prompter
Multi-platform song prompter application for Windows and Android. This app aims to make a prompter using a simple cell phone. To fit in a small screen, it scroll the song using a metronome. You can add new songs using a markdown like format and make playlists by organizing them in folder.
Requirements
For Android export:
- OpenJDK
- sudo apt install openjdk-17-jdk
- Set 'export/android/java_sdk_path' in Editor Settings to openjdk path '/usr/lib/jvm/java-17-openjdk-amd64/'
- Android SDK
- Install command line tools in ~/opt/android_sdk/: https://developer.android.com/tools/sdkmanager
- cd ~/opt/android_sdk/
- cmdline-tools/latest/bin/sdkmanager --sdk_root=sdk/ "platform-tools" "build-tools;35.0.1" "platforms;android-35" "cmdline-tools;latest" "cmake;3.10.2.4988404" "ndk;28.1.13356709"
- Set 'export/android/android_sdk_path' in Editor Settings to sdk path '~/opt/android_sdk/sdk/'
Android release build
A release export must be signed with a release keystore.
-
Create the keystore once, outside of the repository (
keytoolcomes with OpenJDK):keytool -genkeypair -v -keystore ~/.local/share/godot/keystores/release.keystore -storetype PKCS12 -alias songprompter -keyalg RSA -keysize 4096 -validity 10000 -dname "CN=Your Name, O=Song Prompter"With PKCS12, the store and key passwords must be the same.
-
In Godot, open Project > Export > Android > Options > Keystore and set:
- Release: absolute path to the keystore file.
- Release User: the alias (
songprompter). - Release Password: the keystore password.
These values are saved in
project/.godot/export_credentials.cfg, which is not versioned. -
Export with "Export Project" and "Export With Debug" unchecked, or from the command line:
godot --headless --path project --export-release "Android" .builds/android/SongPrompter.apk -
Check the signature:
~/opt/android_sdk/sdk/build-tools/35.0.1/apksigner verify --print-certs project/.builds/android/SongPrompter.apk
Keep a backup of the keystore and its password outside of your machine: .godot/ is a cache folder that can be deleted, and Android only accepts updates signed with the same key. Losing it means users must uninstall the app (and lose its data) to install a new version. For the same reason, a device with a debug build installed must uninstall it before installing the first release build.