ThingsBoard 移动端应用的使用
正文与配图来自原稿。基于官方 flutter_thingsboard_app 跑 Web/APK,并处理登录时
version: unknown问题。
0、流程梳理
搭建并启动 flutter_thingsboard_app 的大致步骤:
- 安装 Flutter SDK,把
bin加入 PATH - 执行
flutter doctor,补齐依赖 - 安装 IDEA,装 Flutter 插件并重启
- 打开
flutter_thingsboard_app根目录 - Run → Run
main.dart(模拟器或真机)
1、安装 Flutter SDK 并配置环境变量
1.1、下载
中文文档:
https://flutter.cn/docs/get-started/install/windows

1.2、解压并配置 PATH
解压后把 …/flutter/bin 加入系统 PATH。
1.3、验证
flutter --version2、下载 flutter_thingsboard_app
git clone -b release/1.0.6 https://github.com/thingsboard/flutter_thingsboard_app.git注意分支与 Flutter 版本对应:

原稿注明:2024-03-18 起最低 Flutter 3.16.0。
3、IDEA 安装 Flutter / Dart 插件

4、IDEA 指定 Flutter / Dart
指定本机 Flutter 路径:

Dart SDK 一般随 Flutter 自带:

5、配置 TB 请求地址
修改 lib/constants/app_constants.dart 中的 ThingsBoard 地址:

不要用 localhost / 127.0.0.1。 即使用本机 TB,也请填局域网可访问的 IP/主机名(手机/模拟器要能访问到)。
6、启动应用
选择 Chrome (web) 运行:

浏览器界面:

用 tenant@thingsboard.org / tenant 登录时,login 正常,但 info 可能返回:
{"version":"unknown"}
原因与处理
全局搜 "system/info",见 SystemInfoController:会读系统版本;若 BuildProperties 未注入,会走进 else,返回 unknown:


@Autowired(required = false)
private BuildProperties buildProperties;原稿说明:Spring Boot 较新版本中 BuildProperties 注入行为变化,可能导致拿不到版本。
解决(临时): 把返回 unknown 的那行改成你当前 TB 版本,例如:
infoObject.put("version", "3.5.1"); // 改成你的 ThingsBoard 版本重启 TB 后再登 App。
7、App 启动成功
info 返回正确版本后即可进入应用:


8、构建 Android APK
Build → Flutter → Build APK。若报错:
No Android SDK found. Try setting the ANDROID_SDK_ROOT environment variable.

配置 SDK 路径:
flutter config --android-sdk D:\path\to\android\sdk

再执行:
flutter build apk

生成 APK 后可装到安卓手机:

9、向现有 Flutter 应用加桌面支持(原稿:桌面运行失败)
flutter create --platforms=windows,macos,linux .
Windows 需打开开发者模式等:

原稿结论:桌面端尝试未成功;优先用 Web / Android。
10、Android 手持机 USB 运行
真机打开调试,USB 连接后选设备 Run 即可(步骤从略)。
补充(辅)
- App 分支与 CE/PE 版本尽量匹配;升级官方 app 仓库后重新对照
app_constants.dart。 - 生产勿长期硬编码 version;应从构建信息或配置正确暴露
BuildProperties/ 等价接口。
