Reference
Build from source
Everything you need to compile Cullant yourself, on the desktop and for Android.
There is no packaged release yet, so this is how you run Cullant today.
What you need
- Rust, stable channel.
- Node 20 or later, with npm.
- On Windows: the MSVC build tools: Visual Studio 2022 Build Tools, with the “Desktop development with C++” workload. Nothing links without them.
Desktop
git clone https://github.com/la-lo-go/cullant.git
cd cullant
npm install
npm run tauri dev # run it, with hot reload
npm run tauri build # build the installers
On Windows the installers land in src-tauri/target/release/bundle/nsis/ and
src-tauri/target/release/bundle/msi/.
The release profile is tuned for a small, fast binary rather than a fast build, so the first release build takes a while.
Opening a folder at startup
Useful while you are testing:
CULLANT_OPEN_PROJECT=/path/to/photos npm run tauri dev
Android
You need the Android SDK with the command-line tools, the NDK, and a JDK. Set ANDROID_HOME,
ANDROID_SDK_ROOT, ANDROID_NDK_HOME and JAVA_HOME before you start.
npx tauri android dev # to a device or an emulator
npx tauri android build --apk --target aarch64 # the smallest APK, about 20 MB
npx tauri android build --aab # for the Play Store
With no --target flag you get a universal APK carrying all four processor types, which is
roughly four times the size. For mixed hardware, --target aarch64 armv7 --split-per-abi gives
you one APK per processor.
Release builds sign themselves if a keystore configuration is present. The keystore itself lives outside the repository.
Optional runtime dependencies
Neither is needed to build. Both add capability at run time.
ffmpeg7.0 or later: video poster frames, and HEIF where nothing else can decode it.- The Microsoft HEIF and HEVC extensions, on Windows: HEIF pictures.
Checks before a change
cd src-tauri
cargo fmt
cargo clippy --all-targets -- -D warnings
cargo test
cd ..
npm run check
All four must be clean.