From b476537f31a25c522aa57aee6e59a479578418c0 Mon Sep 17 00:00:00 2001 From: Max Litruv Boonzaayer Date: Fri, 23 Jan 2026 21:42:30 +1100 Subject: [PATCH] Add library target for Android builds --- src-tauri/Cargo.toml | 4 ++++ src-tauri/src/lib.rs | 26 ++++++++++++++++++++++++++ src-tauri/src/main.rs | 9 +-------- src-tauri/src/mobile.rs | 9 +++++++++ 4 files changed, 40 insertions(+), 8 deletions(-) create mode 100644 src-tauri/src/lib.rs create mode 100644 src-tauri/src/mobile.rs diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index cba92a1..874ac3d 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -11,6 +11,10 @@ default-run = "cinny" edition = "2021" rust-version = "1.70" +[lib] +name = "cinny_lib" +crate-type = ["staticlib", "cdylib", "lib"] + [build-dependencies] tauri-build = { version = "2", features = [] } diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs new file mode 100644 index 0000000..09dddd1 --- /dev/null +++ b/src-tauri/src/lib.rs @@ -0,0 +1,26 @@ +//! Cinny Desktop library for cross-platform builds including Android + +#[cfg(mobile)] +mod mobile; + +#[cfg(mobile)] +pub use mobile::*; + +/// Runs the Tauri application +pub fn run() { + let port = 44548; + + let mut builder = tauri::Builder::default() + .plugin(tauri_plugin_localhost::Builder::new(port).build()) + .plugin(tauri_plugin_window_state::Builder::default().build()) + .plugin(tauri_plugin_shell::init()); + + #[cfg(not(any(target_os = "android", target_os = "ios")))] + { + builder = builder.plugin(tauri_plugin_single_instance::init(|_app, _args, _cwd| {})); + } + + builder + .run(tauri::generate_context!()) + .expect("error while building tauri application"); +} diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index 61f1bbe..a5a5f61 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -4,12 +4,5 @@ )] fn main() { - let port = 44548; - - tauri::Builder::default() - .plugin(tauri_plugin_localhost::Builder::new(port).build()) - .plugin(tauri_plugin_window_state::Builder::default().build()) - .plugin(tauri_plugin_shell::init()) - .run(tauri::generate_context!()) - .expect("error while building tauri application"); + cinny_lib::run(); } diff --git a/src-tauri/src/mobile.rs b/src-tauri/src/mobile.rs new file mode 100644 index 0000000..4a75edf --- /dev/null +++ b/src-tauri/src/mobile.rs @@ -0,0 +1,9 @@ +//! Mobile-specific entry points for Android and iOS + +use tauri::{AppHandle, Runtime}; + +/// Mobile entry point +#[tauri::mobile_entry_point] +fn main() { + crate::run(); +}