Flutter中nordic_nrf_mesh库构建失败问题求助
解决Flutter中nordic_nrf_mesh库构建失败(找不到':mesh'项目)的问题
问题分析
构建失败的核心原因是nordic_nrf_mesh-0.12.0插件的Android端配置中,依赖的:mesh项目未被Gradle识别,通常是本地模块引入路径错误或依赖方式不正确导致。
解决方案
方案1:替换为Maven远程依赖(推荐)
- 找到项目中
nordic_nrf_mesh插件的android/build.gradle文件(通常在flutter/.pub-cache/hosted/pub.dev/nordic_nrf_mesh-0.12.0/android/路径下,或你本地手动引入的插件目录)。 - 定位到第44行的
implementation project(':mesh'),将其替换为远程Maven依赖:implementation 'no.nordicsemi.android:mesh:3.2.0' - 确保项目根目录的
build.gradle中包含mavenCentral仓库:allprojects { repositories { google() mavenCentral() } }
方案2:修正本地模块引入路径
如果坚持使用本地的Android-nRF-Mesh-Library:
- 打开项目的
settings.gradle文件,添加对:mesh模块的引用,确保路径正确指向你本地的库目录:
注意路径要根据实际存放位置调整,相对路径或绝对路径均可。include ':app', ':mesh' project(':mesh').projectDir = new File('/你的本地路径/Android-nRF-Mesh-Library')
方案3:清理重建项目
修改配置后,执行以下命令清理缓存并重新构建:
flutter clean flutter pub get cd android && ./gradlew clean cd .. && flutter run
关于扫描函数的说明
当前提供的扫描代码逻辑无明显语法问题,待构建问题解决后,可测试以下几点确保功能正常:
- 确认设备已开启蓝牙权限(Android 12+需申请
BLUETOOTH_SCAN、BLUETOOTH_CONNECT权限) - 验证
meshProvisioningUuid常量是否正确定义为Mesh配服务UUID(00001827-0000-1000-8000-00805f9b34fb)
内容的提问来源于stack exchange,提问作者Hưng Nguyễn
相关产品推荐
相关产品推荐

