Flutter 工程目录结构

人生语录

1.命运就像自己的掌纹,虽然弯弯曲曲,却永远掌握在自己手中。 2.不要浪费你的生命,在你一定会后悔的地方上。 3.激情,这是鼓满船帆的风。风有时会把船帆吹断;但没有风,帆船就不能航行。 4.人是可以快乐地生活的,只是我们自己选择了复杂,选择了叹息! 5...

dart_tool Dart工具开发包
.idea 开发环境配置
android 安卓原生工程文件
build 编译或运行后产物
lib 包含.dart结尾的工程相关文件
test  包含.dart结尾的工程测试文件
gen  
.gitignore git提交仓库忽略文件
.metadata 一个对当前workspace的配置记录
.packages 以lib结尾的文件绝对路径
flutter_dir.iml 工程文件的本地路径配置
pubspec.lock 前项目依赖所生成的文件
pubspec.yaml 依赖配置
README.md 自述项目信息(html标签) 
External Libraries 安卓架包和资源文件、Dart SDK 文件、工程开发依赖插件API
Scratches and Consoles 创建的临时文件和缓冲区列表

IDE自动生成文件

当我们每次导航到硬盘删除后,重新启动工程会再次生成

工程文件

删除后不会因为工程重新启动而自动创建.

gitignore文件的作用 

在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如无,则需自己手工建立此文件)。

# Miscellaneous
*.class
*.lock
*.log
*.pyc
*.swp
.DS_Store
.atom/
.buildlog/
.history
.svn/

# IntelliJ related
*.iml
*.ipr
*.iws
.idea/

# The .vscode folder contains launch configuration and tasks you configure in
# VS Code which you may wish to be included in version control, so this line
# is commented out by default.
.vscode/

# Flutter/Dart/Pub related
**/doc/api/
.dart_tool/
.flutter-plugins
.flutter-plugins-dependencies
.packages
.pub-cache/
.pub/
/build/

# Android related
**/android/**/gradle-wrapper.jar
**/android/.gradle
**/android/captures/
**/android/gradlew
**/android/gradlew.bat
**/android/local.properties
**/android/**/GeneratedPluginRegistrant.java

# iOS/XCode related
**/ios/**/*.mode1v3
**/ios/**/*.mode2v3
**/ios/**/*.moved-aside
**/ios/**/*.pbxuser
**/ios/**/*.perspectivev3
**/ios/**/*sync/
**/ios/**/.sconsign.dblite
**/ios/**/.tags*
**/ios/**/.vagrant/
**/ios/**/DerivedData/
**/ios/**/Icon?
**/ios/**/Pods/
**/ios/**/.symlinks/
**/ios/**/profile
**/ios/**/xcuserdata
**/ios/.generated/
**/ios/Flutter/App.framework
**/ios/Flutter/Flutter.framework
**/ios/Flutter/Generated.xcconfig
**/ios/Flutter/app.flx
**/ios/Flutter/app.zip
**/ios/Flutter/flutter_assets/
**/ios/ServiceDefinitions.json
**/ios/Runner/GeneratedPluginRegistrant.*

# Web related
lib/generated_plugin_registrant.dart

# Exceptions to above rules.
!**/ios/**/default.mode1v3
!**/ios/**/default.mode2v3
!**/ios/**/default.pbxuser
!**/ios/**/default.perspectivev3
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages

常用通配符说明

# 注释
* 匹配多个字符
** 中间多级目录
! 不忽略匹配到的文件或目录移除已添加的文件


移除单个文件
git rm -r --cached 文件名
移除全部文件
git rm -r --cached .

flutter工程编译安卓工程后最终产物路径

执行命令 flutter build apk

打包并发布 iOS 应用

打测试包

1、Xcode中的证书配置

2、Xcode清理缓存

3、执行flutter build ios --release 构建release版本的flutter包

 4、archive出IPA包

打正式包,参考Flutter官网

Flutter简介

Flutter的架构主要分成三层:Framework,Engine和Embedder。 

Framework

 Egine引擎

Embedder

Embedder是一个嵌入层,即把Flutter嵌入到各个平台上去,这里做的主要工作包括渲染Surface设置,线程设置,以及插件等。从这里可以看出,Flutter的平台相关层很低,平台(如iOS)只是提供一个画布,剩余的所有渲染相关的逻辑都在Flutter内部,这就使得它具有了很好的跨端一致性。

参考:

深入理解flutter的编译原理与优化

【Flutter 极速指南】工作原理篇

猜你喜欢

转载自blog.csdn.net/u013491829/article/details/108624331
今日推荐