crates\nfarms-mobile\Cargo.toml¶
源码路径:
crates\nfarms-mobile\Cargo.toml· 28 行
[package]
name = "nfarms-mobile"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
description = "NFarms HUB 安卓版入口(cdylib,由 NativeActivity 经 android_main 拉起)"
[lib]
# 安卓的 NativeActivity 是 dlopen 一个 .so、再在里面找 `android_main`,
# 所以必须是 cdylib。带上 rlib 是为了 `cargo check` 之类的常规检查也能跑。
crate-type = ["cdylib", "rlib"]
[dependencies]
nfarms-core = { path = "../nfarms-core" }
nfarms-gui = { path = "../nfarms-gui" }
# 关键:**只在安卓目标下**才打开 nfarms-gui 的 `android` 特性。
#
# 如果写在 [dependencies] 里无条件开启,Cargo 的特性合并会让**整个 workspace**
# 的构建(包括 Windows 的 nfarms-app)都去开 eframe 的安卓后端、拉进
# android-activity。写成目标相关依赖就互不干扰。
#
# winit 同理:安卓入口要拿 `AndroidApp` 类型,而 eframe 不 re-export winit。
[target.'cfg(target_os = "android")'.dependencies]
nfarms-gui = { path = "../nfarms-gui", features = ["android"] }
# default-features = false:默认那套是 Linux 后端(x11/wayland),安卓用不到
winit = { version = "0.30", default-features = false }