You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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:

  1. 在pubspec.yaml中更新依赖:
    dependencies:
      package_info_plus: ^4.0.0 # 使用最新稳定版
    
  2. 执行flutter pub get安装依赖,之后将代码中的PackageInfo替换为PackageInfoPlus:
    PackageInfoPlus packageInfo = await PackageInfoPlus.fromPlatform();
    print('package info: $packageInfo');
    

内容的提问来源于stack exchange,提问作者Robban13

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 00:32:18