immich/native
2026-07-20 20:11:39 +06:00
..
crates fix(mobile): target minSdk for the native lib, move memory-card thumbhash to the core, add native CI 2026-07-20 20:11:39 +06:00
immich_native_core fix(mobile): target minSdk for the native lib, move memory-card thumbhash to the core, add native CI 2026-07-20 20:11:39 +06:00
scripts fix(mobile): target minSdk for the native lib, move memory-card thumbhash to the core, add native CI 2026-07-20 20:11:39 +06:00
smoke fix(mobile): target minSdk for the native lib, move memory-card thumbhash to the core, add native CI 2026-07-20 20:11:39 +06:00
.gitignore fix(mobile): target minSdk for the native lib, move memory-card thumbhash to the core, add native CI 2026-07-20 20:11:39 +06:00
Cargo.lock refactor(mobile): replace the android C layer with the rust core 2026-07-11 04:56:06 +06:00
Cargo.toml fix(mobile): target minSdk for the native lib, move memory-card thumbhash to the core, add native CI 2026-07-20 20:11:39 +06:00
mise.toml fix(mobile): target minSdk for the native lib, move memory-card thumbhash to the core, add native CI 2026-07-20 20:11:39 +06:00
README.md fix(mobile): target minSdk for the native lib, move memory-card thumbhash to the core, add native CI 2026-07-20 20:11:39 +06:00

Native core

Shared Rust code used by the Immich mobile app. Flutter builds it from source through the immich_native_core native-assets hook.

Layout

crates/
  immich_core        shared image and thumbhash code
  immich_core_ffi    C ABI and Android JNI exports
  immich_core_napi   Node binding
immich_native_core/  Flutter package and build hook
smoke/               host Dart and Node checks

Commands

Building the mobile app requires rustup. The toolchain and targets are pinned in crates/immich_core_ffi/rust-toolchain.toml.

mise run build
mise run test
mise run lint
mise run fmt
mise run codegen
mise run test:flutter
mise run smoke