flutter的工程配置文件pubspec.yaml详解

pubspec.yaml是Flutter项目的核心配置文件,类似于Android项目中的build.gradle配置文件

pubspec.yaml示例

# 项目名称,必填字端
name: jda_tcp

# 项目描述,非必填,若需要将项目托管在pub.dev则该字段必填
description: jda的tcp管理模块, 负责tcp连接的创建和状态维护

# 版本号,非必填,若需要将项目托管在pub.dev则该字段必填
version: 0.0.1

# 项目主页,非必填
# 该项目的介绍主页,填写域名
homepage: https://jda.jd.com/

# Dart2开始需要添加该标签,声明该项目是基于dart的SDK哪个版本进行编译
environment:
  sdk: ">=2.12.0 <3.0.0"
  flutter: ">=1.17.0"

# 项目的第三方插件依赖,列出了该项目正常工作所需的每一个软件包与版本
dependencies:
  flutter:
    sdk: flutter
  protobuf: ^2.0.1
  uuid: ^3.0.6
  intl: ^0.17.0
  hex: ^0.2.0
  encrypt: ^5.0.1
  crypto: ^3.0.2
  date_format: ^2.0.6

# 区别于dependencies标签,dependencies是生产环境依赖库版本,dev_dependencies是开发环境依赖库版本,该环境仅在开发调试时使用。标签规则同dependencies。
dev_dependencies:
  flutter_test:
    sdk: flutter
  flutter_lints: ^1.0.0

# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec

# 项目中配置声明方式
# 用于在项目中添加资源、设置字体、配置插件参数等
# The following section is specific to Flutter.
flutter:

  # To add assets to your package, add an assets section, like this:
  # assets:
  #   - images/a_dot_burr.jpeg
  #   - images/a_dot_ham.jpeg
  #
  # For details regarding assets in packages, see
  # https://flutter.dev/assets-and-images/#from-packages
  #
  # An image asset can refer to one or more resolution-specific "variants", see
  # https://flutter.dev/assets-and-images/#resolution-aware.

  # To add custom fonts to your package, add a fonts section here,
  # in this "flutter" section. Each entry in this list should have a
  # "family" key with the font family name, and a "fonts" key with a
  # list giving the asset and other descriptors for the font. For
  # example:
  # fonts:
  #   - family: Schyler
  #     fonts:
  #       - asset: fonts/Schyler-Regular.ttf
  #       - asset: fonts/Schyler-Italic.ttf
  #         style: italic
  #   - family: Trajan Pro
  #     fonts:
  #       - asset: fonts/TrajanPro.ttf
  #       - asset: fonts/TrajanPro_Bold.ttf
  #         weight: 700
  #
  # For details regarding fonts in packages, see
  # https://flutter.dev/custom-fonts/#from-packages

项目依赖写法

# 实例1 直接写明约束版本,若该插件是发布在https://pub.dev/ 之上,IDE会直接在项目目录下执行`flutter packages get`来下载其插件的最新版本
  transmogrify: 
  # 实例2 该插件是在实例1的基础上进行延伸,其中`^1.4.0`的含义是约束了版本号,也就是在该项目中,需要使用1.4.0版本
  transmogrify: ^1.4.0
  #实例3 若该插件未部署在pub.dev之上,则可以通过URL来指定出插件下载的源
  transmogrify:
    hosted:
      name: transmogrify
      url: http://some-package-server.com
  #实例4 基于实例3,其中version表明了使用该插件的版本信息
  transmogrify:
    hosted:
      name: transmogrify
      url: http://some-package-server.com
    version: ^1.4.0
  #实例5 若该插件是发布在git上,可以用以下方式来进行插件获取,默认获取master下代码
  transmogrify:
    git:
      url: git://github.com/munificent/kittens.git
  #实例6 基于实例5,其中ref标明获取的分支信息
  transmogrify:
    git:
      url: git://github.com/munificent/kittens.git
      ref: some-branch
  #实例7 基于实例5,若插件只是在项目中的某一个目录中,可以通过path来指定插件位置
  transmogrify:
    git:
      url: git://github.com/munificent/kittens.git
      path: path/to/kittens
  #实例8 若插件在本地某一目录,可以通过指定path来找到该插件
  transmogrify:
    path: /Users/me/transmogrify


  #指定版本,若该项目使用的插件需要约束版本,则方法如下
  #实例1 在该项目中,此插件指定版本为1.4.0
  transmogrify: ^1.4.0
  #实例2 在该项目中,此插件最低版本为1.2.3
  transmogrify: ">=1.2.3"
  #实例3 在该项目中,此插件最低支持2.0.0版本,但不支持3.0.0以上版本
  transmogrify: ">=2.0.0 <3.0.0"
  #实例4 在该项目中,此插件最高支持到1.2.3以下版本
  transmogrify: "<1.2.3"


  #指定Flutter SDK
  #实例1 项目必填项,指定SDK,并获取SDK最新版
  flutter:
    sdk: flutter
  #实例2 基于实例1,指定SDK版本号
  flutter:
    sdk: flutter
    version: ">=2.0.0-dev.68.0 <3.0.0"
  #实例3 另外一种写法
  flutter_driver:
    sdk: flutter
    version: ^0.0.1

你可能感兴趣的:(Flutter,flutter,android,android,studio)