Flutter pubspec.yaml 使用方式

Flutter pubspec.yaml 使用方式

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


1. 基本结构和字段

基本信息

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 (用于私有项目)

环境要求

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

2. 添加依赖项

普通依赖

用于添加 Dart 和 Flutter 包依赖:

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

开发依赖

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

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

依赖本地包

引用本地的 Dart 包:

dependencies:
  my_local_package:
    path: ../my_local_package

依赖 Git 仓库

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

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

依赖特定的 SDK

引用基于 Dart 或 Flutter SDK 的包:

dependencies:
  flutter:
    sdk: flutter

3. 配置资源

静态资源

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

flutter:
  assets:
    - assets/images/logo.png      # 单个资源文件
    - assets/images/              # 整个文件夹

自定义字体

为项目添加自定义字体:

flutter:
  fonts:
    - family: Roboto
      fonts:
        - asset: assets/fonts/Roboto-Regular.ttf
        - asset: assets/fonts/Roboto-Bold.ttf
          weight: 700

4. 配置插件

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

flutter:
  plugin:
    platforms:
      android:
        package: com.example.myplugin
        pluginClass: MyPlugin
      ios:
        pluginClass: MyPlugin

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

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

scripts:
  build_runner: flutter packages pub run build_runner build

运行命令:

flutter pub run scripts build_runner

6. 配置平台支持

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

flutter:
  module:
    androidPackage: com.example.my_flutter_app
    iosBundleIdentifier: com.example.myFlutterApp
  generate:
    platforms:
      - android
      - ios
      - web

7. 配置最低 SDK 要求

environment:
  flutter: ">=3.3.0"

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

启用 Dart 分析器规则

analyzer:
  exclude:
    - test/mock_data.dart       # 排除文件

配置缓存依赖

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

dependency_overrides:
  http: ^0.15.0

9. 自定义构建版本号

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

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

10. 自动生成的注释区域

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

# 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 插件用于国际化配置:

flutter_intl:
  enabled: true
  use_recommended_settings: true

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/953413.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux驱动学习之第三个驱动程序(两个按键的驱动程序-读取按键值)

程序框架说明(和之前的LED驱动进行对比) 这个程序的框架与之前学习的第二个驱动程序(控制LED)的框架基本一致&#xff0c;第二个驱动程序的链接如下&#xff1a; https://blog.csdn.net/wenhao_ir/article/details/144973219 所以如果前两这个LED驱动程序的框架掌握得很清楚了…

KMP前缀表 ≈ find() 函数——28.找出字符串中第一个匹配项的下标【力扣】

class Solution { public: //得到前缀表void getNext(int *next,string needle){int j0;for(int i1;i<needle.size();i){while(j>0 && needle[j]!needle[i]) jnext[j-1];//**j>0**>j0是出口if(needle[i]needle[j]) j;next[i]j;//若写入if中&#xff0c;则该…

vulnhub靶场【IA系列】之Tornado

前言 靶机&#xff1a;IA-Tornado&#xff0c;IP地址为192.168.10.11 攻击&#xff1a;kali&#xff0c;IP地址为192.168.10.2 都采用虚拟机&#xff0c;网卡为桥接模式 本文所用靶场、kali镜像以及相关工具&#xff0c;我放置在网盘中&#xff0c;可以复制后面链接查看 htt…

【优选算法篇】:模拟算法的力量--解决复杂问题的新视角

✨感谢您阅读本篇文章&#xff0c;文章内容是个人学习笔记的整理&#xff0c;如果哪里有误的话还请您指正噢✨ ✨ 个人主页&#xff1a;余辉zmh–CSDN博客 ✨ 文章所属专栏&#xff1a;优选算法篇–CSDN博客 文章目录 一.模拟算法二.例题1.替换所有的问号2.提莫攻击3.外观数列4…

云集电商:数据库的分布式升级实践|OceanBase案例

电商行业对数据库有哪些需求 云集电商作为一家传统电商企业&#xff0c;业务涵盖了美妆个护、服饰、水果生鲜、健康保健等多个领域&#xff0c;在创立四年后在纳斯达克上市&#xff08;股票代码&#xff1a;YJ&#xff09;。与京东、淘宝、拼多多等电商平台不同&#xff0c;云…

Kibana操作ES基础

废话少说&#xff0c;开干&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;截图更清晰&#xff0c;复制在下面 #库操作#创建索引【相当于数据库的库】 PUT /first_index#获…

AI大模型赋能!移远通信打造具有“超能力”的AI智能玩具解决方案

随着无线通信、先进算法以及AI大模型等前沿技术的蓬勃发展&#xff0c;许多玩具已经从简单的互动设备进化为集教育、陪伴和娱乐功能于一身的AI智能玩具&#xff0c;在儿童群体中日渐风靡。不仅如此&#xff0c;因其能提供满满的情绪价值&#xff0c;在成年人和老年人市场中也展…

从 SQL 语句到数据库操作

1. SQL 语句分类 数据定义语言 DDL &#xff1a; 用于定义或修改数据库中的结构&#xff0c;如&#xff1a;创建、修改、删除数据库对象。create、drop alter 数据操作语言 DML &#xff1a; 用于添加、删除、更新数据库中的数据。select、insert alter、drop 数据控制语言 D…

解锁 JMeter 的 ForEach Controller 高效测试秘籍

各位小伙伴们&#xff0c;今天咱就来唠唠 JMeter 里超厉害的 “宝藏工具”——ForEach Controller&#xff0c;它可是能帮咱们在性能测试的江湖里 “大杀四方” 哦&#xff01; 一、ForEach Controller 是啥 “神器” 想象一下&#xff0c;你手头有一串神秘钥匙&#xff0c;每…

【已解决】【记录】2AI大模型web UI使用tips 本地

docker desktop使用 互动 如果需要发送网页链接&#xff0c;就在链接上加上【#】号 如果要上传文件就点击这个➕号 中文回复 命令它只用中文回复&#xff0c;在右上角打开【对话高级设置】 输入提示词&#xff08;提示词使用英文会更好&#xff09; Must reply to the us…

MySQL批量修改数据表编码及字符集为utf8mb4

​​​​​​MySQL批量修改数据表编码及字符集为utf8mb4 utf8mb4编码是utf8编码的超集&#xff0c;兼容utf8&#xff0c;并且能存储4字节的表情字符。 采用utf8mb4编码的好处是&#xff1a;存储与获取数据的时候&#xff0c;不用再考虑表情字符的编码与解码问题。 更改数据库…

基于Spring Boot的房屋租赁系统源码(java+vue+mysql+文档)

项目简介 房屋租赁系统实现了以下功能&#xff1a; 基于Spring Boot的房屋租赁系统的主要使用者管理员可登录系统后台&#xff0c;登录后可对系统进行全面管理&#xff0c;包括个人中心、公告信息管理、租客管理、户主管理、房屋信息管理、看房申请管理、租赁合同管理、收租信…

Leetcode - 147双周赛

目录 一、3407. 子字符串匹配模式二、3408. 设计任务管理器三、3409. 最长相邻绝对差递减子序列四、3410. 删除所有值为某个元素后的最大子数组和 一、3407. 子字符串匹配模式 题目链接 字符串匹配问题&#xff0c;把字符串 p 分成两段 、&#xff0c;i 是 ’ * ’ 的下标&am…

数据预测2025年AI面试市场增幅超500%!

近年来&#xff0c;随着人工智能技术的迅猛发展&#xff0c;AI在各行各业的应用逐渐广泛&#xff0c;其中企业招聘领域也不例外。最新的数据显示&#xff0c;2025年AI面试市场将迎来前所未有的增长&#xff0c;预计增幅将超过500%。这一预测不仅揭示了AI技术在招聘领域的应用潜…

浅谈云计算08 | 基本云架构

浅谈基本云架构 一、负载分布架构二、资源池架构三、动态可扩展架构四、弹性资源容量架构五、服务负载均衡架构六、云爆发架构七、弹性磁盘供给架构八、冗余存储架构 在当今数字化时代&#xff0c;云计算已成为企业发展的核心驱动力&#xff0c;而其背后的一系列关键架构则是支…

【专题】2025年节日营销趋势洞察报告汇总PDF洞察(附原数据表)

原文链接&#xff1a; https://tecdat.cn/?p38813 在当今复杂多变且竞争激烈的消费市场环境下&#xff0c;节日营销已成为企业获取市场份额、提升品牌影响力的关键战略时机。我们深知深入洞察节日营销趋势对于企业决策的重要性。 本报告汇总基于对 2024 年多个关键消费节点及…

【Linux系统】权限位(mode bits)

这张图是使用结构体 struct stat 中的 st_mode 字段时画的&#xff0c;获取表示文件的类型和权限&#xff0c;它是典型的 POSIX 系统调用&#xff08;如 stat() 和 fstat()&#xff09;返回的 struct stat 结构的一部分&#xff0c;用于描述文件的元数据。 在 Linux 和 Unix 系…

无源器件-电容

电容器件的参数 基本概念由中学大学物理或电路分析内容获得&#xff0c;此处不做过多分析。 电容的产量占全球电子元器件产品的40%以上。 单位&#xff1a;法拉 F&#xff1b;1F10^6uF&#xff1b;电路中常见的104电容就是10*10^4pF100nF0.1uF C为电容&#xff0c;Rp为绝缘电…

Go语言之路————go环境的初始化

Go语言之路————go环境的初始化 前言一、Go的安装二、环境配置三、初始化一个新项目四、常用的一些指令 前言 我是一名多年Java开发人员&#xff0c;因为工作需要现在要学习go语言&#xff0c;Go语言之路是一个系列&#xff0c;记录着我从0开始接触Go&#xff0c;到后面能正…

数据结构与算法之链表: LeetCode 234. 回文链表 (Ts版)

回文链表 https://leetcode.cn/problems/palindrome-linked-list/description/ 描述 给你一个单链表的头节点 head &#xff0c;请你判断该链表是否为回文链表如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 示例 1 输入&#xff1a;head [1,2,2,1]…