Make it build for Android

This commit is contained in:
2026-01-03 21:04:10 +01:00
parent 894f5c5e20
commit 7ce7762a94
6 changed files with 144 additions and 10 deletions
+28 -1
View File
@@ -19,14 +19,41 @@ anyhow = "1.0.100"
tokio = { version = "1.48.0", default-features = false, features = ["fs", "rt-multi-thread"] }
xdg = "3.0.0"
[target.'cfg(target_os = "android")'.dependencies]
tokio = { version = "1.48.0", default-features = false, features = ["rt-multi-thread"] }
[target.'cfg(target_arch = "wasm32")'.dependencies]
wasm-bindgen = "0.2.106"
wasm-bindgen-futures = "0.4.56"
web-sys = "0.3.83"
[dependencies.slint]
version = "1.14.1"
default-features = false
features = ["live-preview", "backend-winit-wayland", "renderer-femtovg", "compat-1-2"]
features = [
"live-preview",
"backend-winit-wayland",
"renderer-femtovg",
"compat-1-2",
"backend-android-activity-06",
]
[build-dependencies]
slint-build = "1.14.1"
# See https://github.com/rust-mobile/cargo-apk?tab=readme-ov-file#manifest
[package.metadata.android]
package = "sh.nubo.Inkopslista"
resources = "./android/resources"
[package.metadata.android.signing.dev]
path = "android/keystore/default.keystore"
keystore_password = "123456"
[package.metadata.android.signing.release]
path = "android/keystore/default.keystore"
keystore_password = "123456"
[package.metadata.android.application]
label = "Inköpslista"
icon = "@drawable/icon"
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

+8
View File
@@ -0,0 +1,8 @@
#[unsafe(no_mangle)]
fn android_main(app: slint::android::AndroidApp) {
slint::android::init(app).unwrap();
if let Err(e) = crate::run() {
eprintln!("{e:?}");
}
}
+6
View File
@@ -4,6 +4,9 @@
mod config;
mod runtime;
#[cfg(target_os = "android")]
mod android;
#[cfg(target_arch = "wasm32")]
mod wasm;
@@ -96,6 +99,9 @@ pub fn run() -> Result<(), anyhow::Error> {
#[cfg(target_arch = "wasm32")]
let conf = Config::default();
#[cfg(target_os = "android")]
let conf = Config::default();
state.set_server_address(conf.address.to_shared_string());
let conf_shared = Arc::new(Mutex::new(conf));