Flutter Secure Storage构建失败:解决‘Namespace not specified’错误
解决flutter_secure_storage的命名空间配置错误
错误原因
你遇到的构建错误,核心是Android Gradle插件(AGP)要求所有模块必须显式声明命名空间,而你使用的flutter_secure_storage 4.2.1版本未配置这项。
解决方案
方案1:升级插件(推荐)
新版本的flutter_secure_storage已修复该问题,直接升级到5.0.0及以上版本即可:
- 修改项目根目录的
pubspec.yaml文件,将flutter_secure_storage的版本改为:flutter_secure_storage: ^5.0.0 - 执行命令:
flutter pub get - 执行
flutter clean后重新构建项目。
方案2:通过项目配置覆盖命名空间(无需修改插件代码)
如果暂时不想升级插件,可通过项目的gradle.properties配置强制指定插件的命名空间:
- 打开项目根目录下的
android/gradle.properties文件,添加以下配置:flutter_secure_storage.namespace=com.it_nomads.fluttersecurestorage - 执行
flutter clean,再重新构建项目。
方案3:临时修改插件的build.gradle(不推荐)
若上述方案无效,可临时修改插件的配置文件(注意:插件更新后会覆盖此修改):
- 找到插件的本地缓存路径:查看项目根目录的
.flutter-plugins文件,找到flutter_secure_storage对应的路径(类似~/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage-4.2.1/android)。 - 打开该路径下的
build.gradle文件,在android代码块中添加命名空间配置:android { namespace "com.it_nomads.fluttersecurestorage" // 其他原有配置... } - 执行
flutter clean后重新构建。
针对你的困惑解答
- 配置位置:优先在项目的
android/gradle.properties中配置;若修改插件则在插件android目录的build.gradle的android块内添加。 - 正确命名空间:flutter_secure_storage的标准命名空间为
com.it_nomads.fluttersecurestorage,可从插件的AndroidManifest.xml文件的package属性中确认。 - 无侵入覆盖方法:有,就是通过方案2的gradle.properties配置项实现,无需修改插件代码。
该问题在旧版flutter_secure_storage搭配高版本AGP的场景中普遍存在,已有大量用户反馈并通过上述方案解决。
内容的提问来源于stack exchange,提问作者Gabriel Okemwa
相关产品推荐
相关产品推荐

