🌙 项目目录
# 查看 flutter 本地配置
flutter doctor -v
# 创建项目
flutter create <project_name>
# 启动项目
flutter run
# 启动 release 版本
flutter run --release
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
flutter_app // 项目根目录
├── .dart_tool //dart工具库,依赖,配置文件信息等
├── android //Android项目目录
├── build //项目编译输出目录
├── ios //iOS项目文件
├── lib //dart语言代码
├── linux //Linux项目目录
├── macos //mac项目目录
├── test //测试代码
├── web //web项目目录
├── windows //win项目目录
├── analysis_options.yaml //flutter代码规范
├── pubspec.lock //当前项目依赖所生成的文件
├── pubspec.yaml // 依赖配置
├── README.md //自述项目信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
🌙 flutter包管理
# 安装依赖
flutter pub get <package>
# 删除依赖
flutter pub remove <package>
# 更新依赖
flutter pub upgrade <package>
1
2
3
4
5
6
2
3
4
5
6
Flutter使用pub
工具来管理包,可以通过pubspec.yaml
文件来指定项目所需的依赖包,并通过运行flutter pub get
命令来下载和安装这些依赖包。
在项目根目录下打开terminal
,执行以下命令::
flutter pub add pinyin
1
flutter 包管理工具会自动下载pinyin
(opens new window)包最新版本,并且更新pubspec.yaml
:
dependencies:
pinyin: ^3.2.0 #latest version
1
2
2
使用pinyin
包:
// Import package
import 'package:pinyin/pinyin.dart';
void main() {
String text = "你好,拼音!";
String pinyin = PinyinHelper.getPinyin(text);
print('pinyin: $pinyin'); // pinyin: nihao, pinyin!
}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
🌙 包管理配置文件pubspec.yaml
pubspec.yaml
详解:
# 应用名称
name: hello_flutter
# 应用描述
description: "A new Flutter project."
# The following line prevents the package from being accidentally published to
# pub.dev using `flutter pub publish`. This is preferred for private packages.
# 发布配置
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
# followed by an optional build number separated by a +.
# Both the version and the builder number may be overridden in flutter
# build by specifying --build-name and --build-number, respectively.
# In Android, build-name is used as versionName while build-number used as versionCode.
# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
# In iOS, build-name is used as CFBundleShortVersionString while build-number is used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
# In Windows, build-name is used as the major, minor, and patch parts
# of the product and file versions while build-number is used as the build suffix.
# 应用包版本,说明:版本号 x.y.z+m 其中 m 是构建版本,可以使用 --build-name/--build-number 构建参数覆盖,在 android 中 build-name 当作 versionName使用,build-number 当作versionCode使用
version: 1.0.0+1
# 应用或包的开发环境 flutter的SDK版本在此区间 这个会影响到下面引用的插件依赖库
environment:
sdk: '>=3.3.1 <4.0.0'
# Dependencies specify other packages that your package needs in order to work.
# To automatically upgrade your package dependencies to the latest versions
# consider running `flutter pub upgrade --major-versions`. Alternatively,
# dependencies can be manually updated by changing the version numbers below to
# the latest version available on pub.dev. To see which dependencies have newer
# versions available, run `flutter pub outdated`.
# 应用或包依赖的其他包或插件
dependencies:
flutter:
sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
# 默认加载的IOS图标
cupertino_icons: ^1.0.6
# 开发环境依赖的工具包(而不是Flutter应用本身依赖的包)
dev_dependencies:
flutter_test:
sdk: flutter
# The "flutter_lints" package below contains a set of recommended lints to
# encourage good coding practices. The lint set provided by the package is
# activated in the `analysis_options.yaml` file located at the root of your
# package. See that file for information about deactivating specific lint
# rules and activating additional ones.
flutter_lints: ^3.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 packages.
# Flutter相关的配置选项
flutter:
# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
# 默认生成--使用android material-design 图标
uses-material-design: true
# To add assets to your application, add an assets section, like this:
# assets:
# - images/a_dot_burr.jpeg
# - images/a_dot_ham.jpeg
# An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.dev/assets-and-images/#resolution-aware
# For details regarding adding assets from package dependencies, see
# https://flutter.dev/assets-and-images/#from-packages
# To add custom fonts to your application, 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 from package dependencies,
# see https://flutter.dev/custom-fonts/#from-packages
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101