Flutter如何使用package_info_plus插件

在Flutter项目中集成package_info_plus插件后,如何正确获取应用的版本号、构建号等基本信息?我在pubspec.yaml中添加了依赖并执行了flutter pub get,但调用PackageInfo.fromPlatform()时返回空值或报错。能否提供一个完整的示例代码,包括Android和iOS端的必要配置步骤?另外,这个插件是否需要额外的权限声明?

2 回复

在Flutter中使用package_info_plus插件:

  1. 添加依赖到pubspec.yaml:
dependencies:
  package_info_plus: ^4.0.0
  1. 导入包:
import 'package:package_info_plus/package_info_plus.dart';
  1. 获取应用信息:
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 中的 versionNameversionCode
  • iOS配置:自动读取 Info.plist 中的 CFBundleShortVersionString(版本号)和 CFBundleVersion(构建号)。
  • 权限:无需特殊权限。
  • 平台支持:兼容 Android、iOS、macOS、Web、Windows 和 Linux。

常见用途

  • 显示应用版本信息
  • 检查更新
  • 日志记录

通过以上步骤即可轻松集成并使用 package_info_plus 插件。

回到顶部