Flutter集成Google Nearby Messages API时读取AndroidManifest.xml包名失败
解决Google Nearby Messages API插件的packageName读取失败问题
嘿,我之前也碰到过类似的插件配置坑,这个错误的根源很明确——你用的google_nearby_messages_api(0.0.15版本)的AndroidManifest.xml文件里没有正确声明package属性,导致Gradle构建时没法读取包名。给你几个可行的解决办法:
方案1:手动修复插件的清单文件
- 找到报错里的插件路径:
C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\google_nearby_messages_api-0.0.15\android\src\main\AndroidManifest.xml - 用文本编辑器或Android Studio打开这个文件,检查根标签
<manifest>是否包含package属性。正常的清单文件开头应该是这样的:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.your.plugin.package">
- 如果没有这个属性,直接添加一个合理的包名(比如可以参考插件的源码结构,用类似
io.flutter.plugins.googlenearby的格式即可) - 保存文件后,回到项目执行
flutter clean清理缓存,再运行flutter run重新构建
方案2:替换为维护更活跃的替代插件
这个google_nearby_messages_api的0.0.15版本看起来比较老旧,大概率已经没人维护了,才会出现这种基础配置错误。你可以换用pub.dev上更活跃的Nearby相关插件,比如nearby_connections:
- 打开项目的
pubspec.yaml,移除google_nearby_messages_api的依赖项 - 添加替代插件的依赖,比如:
dependencies: nearby_connections: ^最新版本号
- 执行
flutter pub get拉取依赖,然后重新构建项目即可
方案3:本地引入插件并修复(适合必须用原插件的场景)
如果你因为业务需求必须使用这个插件,可以把它下载到本地,修复清单文件后用本地依赖:
- 把
google_nearby_messages_api的源码下载到本地项目的某个目录(比如./plugins/google_nearby_messages_api) - 修复本地版本的AndroidManifest.xml文件(参考方案1的步骤)
- 修改
pubspec.yaml的依赖为本地路径:
dependencies: google_nearby_messages_api: path: ./plugins/google_nearby_messages_api
- 执行
flutter pub get,之后构建就会使用你修复后的本地版本
内容的提问来源于stack exchange,提问作者jared




