专业的编程技术博客社区

网站首页 > 博客文章 正文

flutter 获取应用程序版本号/版本名字

baijin 2024-08-30 11:43:30 博客文章 3 ℃ 0 评论

这个用到一个三方依赖包https://pub.dev/packages/package_info

package_info: ^0.4.0+13 
PackageInfo.fromPlatform().then((PackageInfo packageInfo) {
 String appName = packageInfo.appName;
 String packageName = packageInfo.packageName;
 String version = packageInfo.version;
 String buildNumber = packageInfo.buildNumber;
});

这里面是有坑的.

首先是android.android的同学都知道修改android的版本号和版本名称是一般是配置在 local.properties文件里面.很多人都以为只要去修改local.properties文件.

sdk.dir=/Users/mac/Library/Android/sdk
flutter.sdk=/Users/mac/flutter
flutter.versionName=1.0.0
flutter.versionCode=1
flutter.buildMode=debug

如果是这样,那么你就错了.

你会发现你修改了之后,去获取的版本信息依然是不变的

当然对android还有一种最笨的方法,那就是直接去修改gradle文件,里面写死,默认情况下 ,app.gradle里面是这样的

def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
 throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}

def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
 flutterVersionCode = '1'
}

def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
 flutterVersionName = '1.0'
}

你写死的话就是.def flutterVersionCode = 1.1.0,不再去配置文件里面读取

ios也是一样的.你会发现你去配置了版本号信息之后,运行生成的app其实版本号依然没有发生变化.可以去看下 Generated.xconfig

// This is a generated file; do not edit or check into version control.
FLUTTER_ROOT=/Users/mac/flutter
FLUTTER_APPLICATION_PATH=/Volumes/Macintosh HD/Users/smartsoft/boss_app
FLUTTER_TARGET=lib/main.dart
FLUTTER_BUILD_DIR=build
SYMROOT=${SOURCE_ROOT}/../build/ios
FLUTTER_FRAMEWORK_DIR=/Users/mac/flutter/bin/cache/artifacts/engine/ios-release
FLUTTER_BUILD_NAME=1.0.0
FLUTTER_BUILD_NUMBER=1

然后我想flutter不可能这么笨吧,生成的android和ios的版本号还要分别去配置??

所以.问题到底在哪呢??

在于我们都太粗心了,我们还是应该更细心一点的,我们其实应该多去阅读flutter给的提示信息.


仔细阅读这段话,你就发现人家说得很明白了

version: 1.0.+3

+号前面对应的就是versioncode 后面那个3就是buildNum

大家还是要多看文档.

最后还要补充一点,修改了之后要执行一下flutter clean ios才可以生效

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表