rsiot/components/cmp_slint/mod.rs
1//! Компонент для взаимодействия с библиотекой пользовательского интерфейса Slint
2//!
3//! **cargo apk**
4//!
5//! ```bash
6//! cargo install cargo-apk
7//! sudo apt install qtbase5-dev
8//! ```
9//!
10//! **Java**
11//!
12//! ```bash
13//! sudo apt install openjdk-21-jdk
14//! ```
15//!
16//! Или более новую, что есть в репозиториях
17//!
18//! ```
19//! $env.JAVA_HOME = /snap/android-studio/current/jbr/
20//!
21//! $env.ANDROID_HOME = "/home/konstantin/Android/Sdk"
22//! $env.ANDROID_NDK_ROOT = $"($env.ANDROID_HOME)/ndk/26.2.11394342"
23//!
24//! $env.TOOLCHAIN = $"($env.ANDROID_NDK_ROOT)/toolchains/llvm/prebuilt/linux-x86_64"
25//! $env.TARGET = aarch64-linux-android
26//! $env.API = 33
27//!
28//! $env.AR = $"($env.TOOLCHAIN)/bin/llvm-ar"
29//! $env.CC = $"($env.TOOLCHAIN)/bin/($env.TARGET)($env.API)-clang"
30//! $env.AS = $env.CC
31//! $env.CXX = $"($env.TOOLCHAIN)/bin/($env.TARGET)($env.API)-clang++"
32//! $env.LD = $"($env.TOOLCHAIN)/bin/ld"
33//! $env.RANLIB = $"($env.TOOLCHAIN)/bin/llvm-ranlib"
34//! $env.STRIP = $"($env.TOOLCHAIN)/bin/llvm-strip"
35//! ```
36//!
37//! Задать переменные в файле `.cargo/config.toml`:
38//!
39//! ```toml
40//! [env]
41//! ANDROID_HOME = "/home/konstantin/Android/Sdk"
42//! ANDROID_NDK_ROOT = "/home/konstantin/Android/Sdk/ndk/26.2.11394342"
43//! JAVA_HOME = "/snap/android-studio/current/jbr/"
44//!
45//! CC_aarch64-linux-android = "/home/konstantin/Android/Sdk/ndk/26.2.11394342/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android34-clang"
46//! CCX_aarch64-linux-android = "/home/konstantin/Android/Sdk/ndk/26.2.11394342/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android34-clang"
47//! AR_aarch64-linux-android = "/home/konstantin/Android/Sdk/ndk/26.2.11394342/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar"
48//! RANLIB_aarch64-linux-android = "/home/konstantin/Android/Sdk/ndk/26.2.11394342/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ranlib"
49//! ```
50//!
51//! Проверить путь установки, версию NDK (26.2.11394342), версию платформы (34).
52
53mod component;
54mod config;
55mod error;
56mod fn_process;
57mod tasks;
58
59pub use component::Cmp;
60pub use config::Config;
61pub use error::Error;
62
63type Result<TMsg> = std::result::Result<TMsg, Error>;
64type SlintWindow<TMainWindow> = slint::Weak<TMainWindow>;