2026-05-12 18:38:22 +08:00
2026-03-30 02:59:56 +08:00
2026-05-12 18:38:22 +08:00
2026-03-30 02:59:56 +08:00
2026-03-30 02:59:56 +08:00
2026-04-29 15:54:23 +08:00
2026-05-11 22:30:45 +08:00
2026-03-30 02:59:56 +08:00
2026-03-30 02:59:56 +08:00
2026-03-30 02:59:56 +08:00
2026-03-30 02:59:56 +08:00

JE-Skin (SvelteKit + Tauri)

环境要求

  • Node.js 18+(建议 LTS
  • Rust stablerustup + cargo
  • Windows 下请确保已安装 WebView2 Runtime 和 MSVC C++ 构建工具
  • Android 构建需要 Android SDK + NDK

安装依赖

npm install

运行方式

  1. 仅启动前端Vite
npm run dev

默认地址是 http://localhost:5173

  1. 启动 Tauri 桌面应用(前端 + Rust
npm run tauri dev

构建

构建前端静态资源:

npm run build

构建 Tauri 桌面安装包:

npm run tauri build

构建 Android APK / AAB

npx tauri android build

产物路径:

  • APK: src-tauri/gen/android/app/build/outputs/apk/universal/release/app-universal-release.apk
  • AAB: src-tauri/gen/android/app/build/outputs/bundle/universalRelease/app-universal-release.aab

Release APK 默认使用 debug keystore 签名(src-tauri/gen/android/app/je-skin-debug.keystore),可直接 adb install 到设备。

代码检查

npm run check

v0.5.0 修改记录

Android USB 串口接入

  • Tauri 插件注册Android 端通过 Rust builder 注册 usb-serial 插件,移除 MainActivity 中的手动加载逻辑
  • USB 设备枚举:使用 usb-serial-for-androidUsbSerialProber 识别串口设备,并返回设备名、厂商 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 插件注解、UsbSerialPlugincom.hoho.android.usbserial 保留规则,避免 release 包混淆后插件命令失效
  • Android 构建下 serial_enum 返回空列表,并仅保留 fd 连接入口,避免桌面串口枚举依赖进入 Android 编译路径

v0.4.0 修改记录

移动端性能优化

  • SignalChart / SummaryCurve:在 @media (max-width: 900px) 下移除 SVG 路径上的 filter: drop-shadow(),避免移动端 GPU 软件回流导致卡顿
  • SignalChart:隐藏 .scan-hazemix-blend-mode: screen 合成开销大),简化面板 background / box-shadow
  • SummaryCurve:移动端移除 .summary-line.summary-dot 的 drop-shadow 滤镜
  • 页面级:移动端隐藏 .hud-noisefeTurbulence SVG 滤镜是最大性能杀手),降低 .hud-vignette 透明度,简化 .hud-gradient
  • 移除 inactive 面板的 filter: blur() 过渡动画
  • 移除 transition 中的 filter 属性,添加 will-change: d 优化路径更新

移动端 UI 调整

  • 隐藏三大金刚@media (max-width: 900px) 下隐藏标题栏右侧的最小化/最大化/关闭按钮Android 系统自带窗口管理)

Android 打包

  • Release 构建配置使用 debug keystore 签名,输出签名 APK 而非 unsigned

推荐 IDE 插件

VS Code + Svelte + Tauri + rust-analyzer

Description
No description provided
Readme 339 MiB
0.4.0 Latest
2026-04-29 17:15:18 +08:00
Languages
HTML 58.5%
Svelte 17.8%
TeX 10.9%
Rust 8.4%
Kotlin 2%
Other 2.2%