Flutter:package_info.version 始终为“1.0”

Scr*_*tim 5 plugins version flutter

我正在尝试使用package_info插件获取我的 Flutter 应用程序的版本。

import 'package:package_info/package_info.dart';
// ...
PackageInfo.fromPlatform().then((pkgInfo) {
  print(pkgInfo.version); // prints "1.0"
});
Run Code Online (Sandbox Code Playgroud)

然而,在 中pubspec.yaml,我指定了version: 2.0.0.

插件从哪里获取版本号?我怎样才能改变它?

顺便说一下,pkgInfo.appName匹配name中的字段pubspec.yaml

die*_*per 1

这不是来自 pubspec.yaml 的版本,而是来自 Android / iOS 平台的版本。所以你应该更改版本:

安卓

android/app/build.gradle文件

    versionCode 5
    versionName "1.0"
Run Code Online (Sandbox Code Playgroud)

iOS系统

ios/Runner/Info.plist文件

<key>CFBundleShortVersionString</key>
    <string>1.0</string>
Run Code Online (Sandbox Code Playgroud)

更新

package_info已弃用,请改用package_info_plus

有关更多信息,您可以检查本机包如何获取每个平台的版本:

https://github.com/fluttercommunity/plus_plugins/blob/main/packages/package_info_plus/package_info_plus/lib/package_info_plus.dart#L47

  • 如果它设置为....&lt;key&gt;CFBundleShortVersionString&lt;/key&lt;string&gt;$(FLUTTER_BUILD_NAME)&lt;/string&gt;....我也遇到了同样的问题。 (2认同)