Skip to content

Commit 6d0586d

Browse files
committed
Android: Implemented a local Tauri plugin named serialplugin that uses the Rust serialport crate
1 parent ab3e1ca commit 6d0586d

File tree

3 files changed

+15
-1
lines changed

3 files changed

+15
-1
lines changed

src-tauri/Cargo.lock

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src-tauri/Cargo.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ serde_json = "1.0"
2525
[target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies]
2626
tauri-plugin-serialplugin = "2.21"
2727

28+
[target.'cfg(target_os = "android")'.dependencies]
29+
serialport = "4.8"
30+
2831
[features]
2932
default = ["custom-protocol"]
3033
custom-protocol = ["tauri/custom-protocol"]

src-tauri/src/main.rs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,22 @@ fn main() {
77
let mut builder = tauri::Builder::default()
88
.plugin(tauri_plugin_shell::init());
99

10-
#[cfg(not(any(target_os = "android", target_os = "ios")))]
10+
#[cfg(target_os = "android")]
1111
{
12+
// Local Android serial plugin that mirrors the commands used by the frontend
13+
builder = builder.plugin(crate::serial_android::init_android());
14+
}
15+
16+
#[cfg(not(target_os = "android"))]
17+
{
18+
// Desktop: use official plugin for now
1219
builder = builder.plugin(tauri_plugin_serialplugin::init());
1320
}
1421

1522
builder
1623
.run(tauri::generate_context!())
1724
.expect("error while running tauri application");
1825
}
26+
27+
#[cfg(target_os = "android")]
28+
mod serial_android;

0 commit comments

Comments
 (0)