Building from source
How to clone, set up and build SimpMusic for Android and Desktop from source.
This page covers building SimpMusic locally. It assumes you're comfortable with Android / Kotlin tooling.
Prerequisites
- JDK 17+
- Android Studio (latest stable recommended) with the Android SDK
- Git (the repo uses submodules)
Clone the repository
The project uses Git submodules, so clone recursively:
git clone --recursive https://github.com/maxrave-dev/SimpMusic.git
cd SimpMusicIf you already cloned without --recursive, initialize the submodules:
git submodule update --init --recursiveOpen and build
Open the project folder in Android Studio and let it sync the Gradle project.
Pick a run configuration:
- Android — select the Android app configuration and run it on an emulator or device.
- Desktop — run the desktop application module (
desktopApp).
Build and run.
To see all available Gradle tasks from the command line, run ./gradlew tasks. Android Studio's
built-in run configurations are the easiest path for day-to-day development.
FOSS vs Full builds
The FOSS/Full split is not an Android product flavor — it's driven by the Gradle property
isFullBuild. The Full build links :crashlytics (Sentry); the FOSS build links
:crashlytics-empty (a no-op, for F-Droid). To build FOSS locally, the repo provides
build_and_sign_apk.sh --foss. See Architecture and
Project Structure.
Packaging the desktop app
The desktop distribution is packaged with Conveyor (see
conveyor.conf in the repository root) producing the .msix, .dmg and .AppImage artifacts.
