人生語錄
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 極速指南】作業原理篇
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/68891.html
標籤:其他
