package_info_plus 4.0.1版本号获取异常:version字段为空求助
解决PackageInfo获取version字段为空的问题
检查Android端版本配置
- 打开
android/app/build.gradle(Module级构建文件),确认defaultConfig块中已正确配置versionName:defaultConfig { applicationId "com.example.myapp" minSdkVersion 21 targetSdkVersion 33 versionCode 3 // 与你获取到的buildNumber对应 versionName "1.0.0" // 这就是PackageInfo要读取的version字段 } - 若gradle配置正确但问题依旧,检查
AndroidManifest.xml,确保没有手动设置android:versionName覆盖gradle的值,如有则修改为与gradle一致的版本字符串。
检查iOS端版本配置
- 打开
ios/Runner/Info.plist,确认CFBundleShortVersionString字段已赋值:<key>CFBundleShortVersionString</key> <string>1.0.0</string> <!-- 对应PackageInfo的version字段 --> <key>CFBundleVersion</key> <string>3</string> <!-- 对应PackageInfo的buildNumber字段 --> - 也可通过Xcode打开项目,在
Runner的General标签页中,查看Version(对应version)和Build(对应buildNumber)是否填写正确。
清理缓存并重建项目
执行以下命令清理Flutter缓存,重新构建项目:
flutter clean flutter pub get flutter run
缓存残留可能导致配置未生效,清理后重新构建通常能解决这类问题。
替换为官方推荐的package_info_plus包
原package_info包已被官方弃用,存在部分平台适配问题。建议替换为package_info_plus:
- 在
pubspec.yaml中更新依赖:dependencies: package_info_plus: ^4.0.0 # 使用最新稳定版 - 执行
flutter pub get安装依赖,之后将代码中的PackageInfo替换为PackageInfoPlus:PackageInfoPlus packageInfo = await PackageInfoPlus.fromPlatform(); print('package info: $packageInfo');
内容的提问来源于stack exchange,提问作者Robban13
相关产品推荐
相关产品推荐

