Add Android USB serial bridge docs

This commit is contained in:
lenn
2026-05-11 22:30:45 +08:00
parent c5f4f854bf
commit 360b57e3e2
10 changed files with 395 additions and 100 deletions

View File

@@ -61,6 +61,24 @@ Release APK 默认使用 debug keystore 签名(`src-tauri/gen/android/app/je-s
npm run check
```
## v0.5.0 修改记录
### Android USB 串口接入
- **Tauri 插件注册**Android 端通过 Rust builder 注册 `usb-serial` 插件,移除 `MainActivity` 中的手动加载逻辑
- **USB 设备枚举**:使用 `usb-serial-for-android``UsbSerialProber` 识别串口设备,并返回设备名、厂商 ID、产品 ID、权限状态等信息
- **USB 权限申请**:完善 Android USB 授权回调支持按设备名、vendorId/productId 解析设备并处理授权后的打开流程
- **串口数据桥接**Kotlin 端打开 USB serial port 后通过 Unix socketpair 将 fd 交给 RustRust 端继续复用 `serial_connect_fd` 数据采集链路
- **资源释放**:关闭连接时同步释放桥接 fd、USB serial port 和 `UsbDeviceConnection`,避免重复打开后的资源残留
### Tauri 权限与构建
- 新增 `src-tauri/permissions/usb-serial/default.toml`,声明 Android USB serial 插件命令和前端所需本地命令权限
- `default.json` 增加 USB serial 与本地命令权限,兼容 snake_case / camelCase 插件命令名
- Android Gradle 仓库加入 JitPack用于解析 USB serial 驱动依赖
- ProGuard 增加 Tauri 插件注解、`UsbSerialPlugin``com.hoho.android.usbserial` 保留规则,避免 release 包混淆后插件命令失效
- Android 构建下 `serial_enum` 返回空列表,并仅保留 fd 连接入口,避免桌面串口枚举依赖进入 Android 编译路径
## v0.4.0 修改记录
### 移动端性能优化