如何在应用程序中查看Dart和Flutterlog()的版本?
喜欢:
String dartVersion = ?;
log("dart: $dartVersion");
Run Code Online (Sandbox Code Playgroud)
要执行 dart 版本,您可以使用 Platform 类直接返回 dart 版本,如下例所示:
import 'dart:io' show Platform;
var version = Platform.version;
print("version:"+version);
Run Code Online (Sandbox Code Playgroud)
据我所知,没有直接的方法来获取 flutter 版本,但是您可以制作一个自定义构建脚本,以便基于以下 CLI 命令来获取它:
flutter --version --machine
Run Code Online (Sandbox Code Playgroud)
并在构建时使用其输出创建一个 dart 文件,我们可以将其导入到项目中。在那里,我们可以在运行时直接读取它。
因此,我们将使用以下构建脚本来创建 dart 文件(名为 flutterVersion.dart):
rm lib/src/flutterVersion.dart # <-- prevents appending to an old file.
echo "Building flutterVersion.dart"
### the following creates a dart file, and appends the output of
### <flutter --version --machine> to a Map variable named "version",
### and finally appends a semicolon at the end.
echo "const Map<String,String> version = " >> lib/src/flutterVersion.dart
flutter --version --machine >> lib/src/flutterVersion.dart
echo ";" >> lib/src/flutterVersion.dart
echo "Continuing flutter build"
// put other build commands here.
Run Code Online (Sandbox Code Playgroud)
这将创建以下文件:
const Map<String,String> version =
{
"frameworkVersion": "1.15.19-pre.9",
"channel": "master",
"repositoryUrl": "https://github.com/flutter/flutter.git",
"frameworkRevision": "e13e17009dcb009f12335eb281f7295ba42de771",
"frameworkCommitDate": "2020-03-06 21:38:35 -0800",
"engineRevision": "5aff3119480996ca014ec0f8d26d74db617b5852",
"dartSdkVersion": "2.8.0 (build 2.8.0-dev.12.0 9983424a3c)"
};
Run Code Online (Sandbox Code Playgroud)
然后,您只需导入该文件并在运行时读取它:
import 'package:my_package/src/flutterVersion.dart';
main() {
print(version['channel']);
print(version['frameworkVersion']);
}
//output:
//master
//1.15.19-pre.9
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1202 次 |
| 最近记录: |