Flutter如何使用package_info_plus插件
在Flutter项目中集成package_info_plus插件后,如何正确获取应用的版本号、构建号等基本信息?我在pubspec.yaml中添加了依赖并执行了flutter pub get,但调用PackageInfo.fromPlatform()时返回空值或报错。能否提供一个完整的示例代码,包括Android和iOS端的必要配置步骤?另外,这个插件是否需要额外的权限声明?
2 回复
在Flutter中使用package_info_plus插件:
- 添加依赖到pubspec.yaml:
dependencies:
package_info_plus: ^4.0.0
- 导入包:
import 'package:package_info_plus/package_info_plus.dart';
- 获取应用信息:
PackageInfo packageInfo = await PackageInfo.fromPlatform();
String appName = packageInfo.appName;
String version = packageInfo.version;
String buildNumber = packageInfo.buildNumber;
运行flutter pub get安装依赖即可使用。
更多关于Flutter如何使用package_info_plus插件的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
在Flutter中使用package_info_plus插件可以获取应用的包信息(如版本号、构建号等)。以下是详细步骤:
1. 添加依赖
在 pubspec.yaml 文件的 dependencies 部分添加:
dependencies:
package_info_plus: ^4.2.0 # 检查并替换为最新版本
运行 flutter pub get 安装依赖。
2. 导入包
在Dart文件中导入:
import 'package:package_info_plus/package_info_plus.dart';
3. 获取包信息
使用异步方法获取信息:
PackageInfo packageInfo = await PackageInfo.fromPlatform();
String appName = packageInfo.appName; // 应用名称
String packageName = packageInfo.packageName; // 包名
String version = packageInfo.version; // 版本号
String buildNumber = packageInfo.buildNumber; // 构建号
String buildSignature = packageInfo.buildSignature; // 构建签名(Android)
4. 完整示例
import 'package:flutter/material.dart';
import 'package:package_info_plus/package_info_plus.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: const Text('Package Info Example')),
body: FutureBuilder<PackageInfo>(
future: PackageInfo.fromPlatform(),
builder: (context, snapshot) {
if (snapshot.hasData) {
final info = snapshot.data!;
return Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text('App Name: ${info.appName}'),
Text('Package: ${info.packageName}'),
Text('Version: ${info.version}'),
Text('Build: ${info.buildNumber}'),
],
),
);
} else {
return const CircularProgressIndicator();
}
},
),
),
);
}
}
注意事项
- Android配置:无需额外设置,自动读取
build.gradle中的versionName和versionCode。 - iOS配置:自动读取
Info.plist中的CFBundleShortVersionString(版本号)和CFBundleVersion(构建号)。 - 权限:无需特殊权限。
- 平台支持:兼容 Android、iOS、macOS、Web、Windows 和 Linux。
常见用途
- 显示应用版本信息
- 检查更新
- 日志记录
通过以上步骤即可轻松集成并使用 package_info_plus 插件。

