uniapp 本地离线打包提示未添加蓝牙模块如何解决?
在uniapp本地离线打包时,提示“未添加蓝牙模块”应该怎么解决?我已经按照文档配置了manifest.json文件,添加了蓝牙权限和模块声明,但打包后依然报错。请问是否需要额外引入SDK或修改gradle配置?有没有完整的解决方案或步骤说明?
2 回复
在HBuilderX中,点击manifest.json,找到“App模块配置”,勾选“蓝牙”模块,重新打包即可。
在 UniApp 本地离线打包时提示“未添加蓝牙模块”,通常是因为未在原生平台配置蓝牙权限或模块依赖。以下是针对 Android 和 iOS 平台的解决方案:
Android 解决方案
-
添加蓝牙权限:
- 打开 Android 项目中的
AndroidManifest.xml文件。 - 在
<manifest>标签内添加以下权限:
注意:Android 6.0+ 需要动态申请位置权限,因为蓝牙扫描依赖位置服务。<uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
- 打开 Android 项目中的
-
配置模块依赖:
- 如果使用 HBuilderX 离线 SDK,确保在
build.gradle中添加必要的蓝牙依赖(通常 UniApp SDK 已包含,但可检查是否缺失)。
- 如果使用 HBuilderX 离线 SDK,确保在
-
重新编译:
- 清理并重建项目(例如在 Android Studio 中选择
Build > Clean Project和Build > Rebuild Project)。
- 清理并重建项目(例如在 Android Studio 中选择
iOS 解决方案
-
添加蓝牙权限:
- 在 Xcode 中打开项目,找到
Info.plist文件。 - 添加以下键值对:
注意:iOS 13+ 需使用<key>NSBluetoothAlwaysUsageDescription</key> <string>应用需要使用蓝牙以连接外部设备</string> <key>NSBluetoothPeripheralUsageDescription</key> <string>应用需要使用蓝牙以连接外部设备</string>NSBluetoothAlwaysUsageDescription。
- 在 Xcode 中打开项目,找到
-
启用蓝牙能力:
- 在 Xcode 中,进入项目的
Signing & Capabilities选项卡。 - 点击
+ Capability,添加Background Modes,并勾选Uses Bluetooth LE accessories(如果应用需后台运行蓝牙)。
- 在 Xcode 中,进入项目的
-
重新打包:
- 清理项目(
Product > Clean Build Folder)后重新编译。
- 清理项目(
通用检查步骤
- 确认 UniApp 配置:在
manifest.json的App模块配置中确保已勾选Bluetooth(云打包需此步骤,离线打包依赖原生工程)。 - 测试设备:确保手机蓝牙功能正常,并开启蓝牙。
- 查看日志:检查原生平台(如 Android Studio 或 Xcode)的控制台日志,定位具体错误。
按照以上步骤操作后,重新打包应用即可解决蓝牙模块未添加的问题。如果问题持续,检查 UniApp 官方文档或社区寻求特定 SDK 版本的帮助。

