Flutter pubspec.yaml 使用方式

Flutter pubspec.yaml 使用方式

pubspec.yaml 是 Flutter 项目中最重要的配置文件之一,用于管理应用的基本信息、依赖项、资源以及构建配置等内容。


1. 基本结构和字段

基本信息

yaml 复制代码
name: my_flutter_app        # 应用的名称
description: A new Flutter project  # 项目的描述
version: 1.0.0+1           # 应用的版本号和内部版本号
homepage: https://example.com  # 项目的主页 (可选)
repository: https://github.com/my_flutter_app # 用于提供项目的源代码仓库地址 (可选)
publish_to: "none"         # 是否发布到 Pub (用于私有项目)

环境要求

yaml 复制代码
environment:
  sdk: ">=2.19.0 <3.0.0"   # Dart SDK 的版本范围
  flutter: ">=3.7.0"       # Flutter SDK 的版本范围 (可选)

2. 添加依赖项

普通依赖

用于添加 Dart 和 Flutter 包依赖:

yaml 复制代码
dependencies:
  flutter:
    sdk: flutter          # Flutter SDK 必须的核心包
  http: ^0.15.0           # 添加第三方依赖包及其版本
  provider: ^6.0.0        # 依赖其他库 (Pub.dev 上的库)

开发依赖

仅在开发环境中使用的依赖:

yaml 复制代码
dev_dependencies:
  flutter_test:
    sdk: flutter          # 测试框架
  lint: ^2.0.0            # 代码分析工具

依赖本地包

引用本地的 Dart 包:

yaml 复制代码
dependencies:
  my_local_package:
    path: ../my_local_package

依赖 Git 仓库

引用托管在 Git 仓库中的包:

yaml 复制代码
dependencies:
  my_git_package:
    git:
      url: https://github.com/username/repository.git
      ref: main          # 指定分支
      path: packages/package_name  # 指定子目录 (可选)

依赖特定的 SDK

引用基于 Dart 或 Flutter SDK 的包:

yaml 复制代码
dependencies:
  flutter:
    sdk: flutter

3. 配置资源

静态资源

添加应用使用的图像、字体等资源:

yaml 复制代码
flutter:
  assets:
    - assets/images/logo.png      # 单个资源文件
    - assets/images/              # 整个文件夹

自定义字体

为项目添加自定义字体:

yaml 复制代码
flutter:
  fonts:
    - family: Roboto
      fonts:
        - asset: assets/fonts/Roboto-Regular.ttf
        - asset: assets/fonts/Roboto-Bold.ttf
          weight: 700

4. 配置插件

添加平台特定的依赖(iOS、Android 等):

yaml 复制代码
flutter:
  plugin:
    platforms:
      android:
        package: com.example.myplugin
        pluginClass: MyPlugin
      ios:
        pluginClass: MyPlugin

5. 设置执行脚本(Flutter 3.7+ 支持)

支持 scripts 字段定义自定义脚本:

yaml 复制代码
scripts:
  build_runner: flutter packages pub run build_runner build

运行命令:

bash 复制代码
flutter pub run scripts build_runner

6. 配置平台支持

启用或禁用某些平台支持:

yaml 复制代码
flutter:
  module:
    androidPackage: com.example.my_flutter_app
    iosBundleIdentifier: com.example.myFlutterApp
  generate:
    platforms:
      - android
      - ios
      - web

7. 配置最低 SDK 要求

yaml 复制代码
environment:
  flutter: ">=3.3.0"

8. 提升构建效率:缓存与可选字段

启用 Dart 分析器规则

yaml 复制代码
analyzer:
  exclude:
    - test/mock_data.dart       # 排除文件

配置缓存依赖

避免重新下载 Pub 包,覆盖项目中某个依赖的版本。当某些包依赖的库版本冲突时,可以通过 dependency_overrides 来强制使用指定版本。

yaml 复制代码
dependency_overrides:
  http: ^0.15.0

9. 自定义构建版本号

版本号格式为 x.y.z+build_number,例如:

yaml 复制代码
version: 1.2.3+10
  • x.y.z:语义化版本号(主版本号、次版本号和补丁版本号)。
  • build_number:内部构建版本号。

10. 自动生成的注释区域

Flutter 自动生成一些注释内容,建议保留以便参考。例如:

yaml 复制代码
# To add assets to your application, add an assets section, like this:
# assets:
#   - assets/images/a_dot_burr.jpeg
#   - assets/images/a_dot_ham.jpeg

11. 插件(国际化)

在某些项目中,flutter_intl 插件用于国际化配置:

yaml 复制代码
flutter_intl:
  enabled: true
  use_recommended_settings: true
相关推荐
恋猫de小郭13 小时前
Flutter 鸿蒙 2026 路线发布,加速同步官方生态,进一步优化体验
前端·flutter·harmonyos
亚历克斯神14 小时前
Flutter 三方库 fft 的鸿蒙化适配指南 - 实现端侧高性能快速傅里叶变换、支持音频频谱分析与信号处理域的频域特征提取实战
flutter·harmonyos·鸿蒙·openharmony
鹏多多15 小时前
Flutter使用pretty_qr_code生成高颜值二维码
android·前端·flutter
不爱吃糖的程序媛1 天前
Flutter 3.35.7-ohos-0.0.3 发布:能力增强、性能优化与多项问题修复
flutter
始持2 天前
第三讲 进阶布局与样式(精细化UI)
flutter
weixin_443478512 天前
flutter学习之状态管理相关组件
javascript·学习·flutter
键盘鼓手苏苏2 天前
Flutter 组件 reaxdb_dart 适配鸿蒙 HarmonyOS 实战:响应式 NoSQL 数据库,构建高性能本地持久化与分布式状态同步架构
flutter·harmonyos·鸿蒙·openharmony·reaxdb_dart
亚历克斯神2 天前
Flutter for OpenHarmony: Flutter 三方库 mongo_dart 助力鸿蒙应用直连 NoSQL 数据库构建高效的数据流转系统(纯 Dart 驱动方案)
android·数据库·flutter·华为·nosql·harmonyos
加农炮手Jinx2 天前
Flutter for OpenHarmony:postgres 直连 PostgreSQL 数据库,实现 Dart 原生的高效读写(数据库驱动) 深度解析与鸿蒙适配指南
网络·数据库·flutter·华为·postgresql·harmonyos·鸿蒙
始持2 天前
第二讲 Flutter 文字、图片与图标(基础视觉元素)
flutter