人生语录
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的架构主要分成三层:Framework,Engine和Embedder。
Framework
Egine引擎
Embedder
Embedder是一个嵌入层,即把Flutter嵌入到各个平台上去,这里做的主要工作包括渲染Surface设置,线程设置,以及插件等。从这里可以看出,Flutter的平台相关层很低,平台(如iOS)只是提供一个画布,剩余的所有渲染相关的逻辑都在Flutter内部,这就使得它具有了很好的跨端一致性。
参考: