本文更新於2024-12-15,使用Flutter 3.3.3。
目錄
- 項目結構
- pubspec.yaml
- 外部依賴庫
項目結構
- android/:Android原生目錄。
- app/
- build.gradle
- src/
- main/
- AndroidMainfest.xml:Android重要配置。
- res/
- drawable/
- launch_background.xml:啓動頁配置。
- midmap-hdpi/
- ic_lancher.png:啓動圖標。
- midmap-mdpi/
- ic_lancher.png:啓動圖標。
- midmap-xhdpi/
- ic_lancher.png:啓動圖標。
- midmap-xxhdpi/
- ic_lancher.png:啓動圖標。
- midmap-xxxhdpi/
- ic_lancher.png:啓動圖標。
- drawable/
- main/
- app/
- build/:構建目錄。
- app/
- outputs/
- apk/
- release/
- app-release.apk:Android發佈版本APK。
- release/
- apk/
- outputs/
- start_up_info.json:啓動時間分析結果。各字段含義如下:engineEnterTimestampMicros為進入Flutter框架引擎所需的微秒數,timeToFirstFrameMicros為顯示第一幀所需的微秒數,timeToFrameworkInitMicros為初始化Flutter框架所需的微秒數,timeAfterAfterFrameworkInitMicros為完成初始化Flutter框架所需的微秒數。
- app/
- ios/:iOS原生目錄。
- Runner/
- Assets.xcassets/:啓動圖標目錄。
- Contents.json
- Icon-App-20x20@1x.png
- Icon-App-20x20@2x.png
- Icon-App-20x20@3x.png
- Icon-App-29x29@1x.png
- Icon-App-29x29@2x.png
- Icon-App-29x29@3x.png
- Icon-App-40x40@1x.png
- Icon-App-40x40@2x.png
- Icon-App-40x40@3x.png
- Icon-App-60x60@2x.png
- Icon-App-60x60@3x.png
- Icon-App-76x76@1x.png
- Icon-App-76x76@2x.png
- Icon-App-83.5x83.5@2x.png
- Icon-App-1024x1024@1x.png
- LaunchImage.imageset/:啓動頁目錄。
- Contents.json:啓動頁內容配置文件。
- LaunchImage.png
- LaunchImage@2x.png
- LaunchImage@3x.png
- Assets.xcassets/:啓動圖標目錄。
- Runner/
- lib/:Flutter的Dart源代碼目錄。
- main.dart:主函數入口。
- src/:私有源代碼目錄。
- pubspec.yaml:配置文件。
- test/:測試的Dart源代碼目錄。
- test_driver/:集成測試的Dart源代碼目錄。默認不包含此目錄。集成測試類文件名必需為指令化應用程序類文件名後加“_test”。
pubspec.yaml
- dependencies:依賴庫列表。可包含外部依賴庫。
- cupertino_icons:Cupertino(iOS)風格庫。
- flutter:Flutter庫。
- sdk:為flutter。
- flutter_localizations:多語言本地化庫。
- sdk:為flutter。
- dev_dependencies:開發依賴庫。
- flutter_driver:Flutter集成測試用到。
- sdk:為flutter。
- flutter_test:Flutter測試庫。
- sdk:為flutter。
- flutter_driver:Flutter集成測試用到。
- flutter
- assets:資源文件夾的文件列表。為相對於項目根目錄的路徑。基本同名的文件會被認為是變體(Variant)。
- fonts:字體族列表。
- family:字體族名稱。
- fonts:字體列表。
- asset:字體文件路徑。為相對於項目根目錄的路徑。如字體在某個包中,則格式為packages/PACKAGENAME/FILEPATH。
- uses-material-design
外部依賴庫
以下是常見的外部依賴庫,更多外部依賴庫可訪問https://pub.dev,或中文站[https://pub-web.flutter-io.cn])(https://pub-web.flutter-io.cn)。
- camera:視頻錄製。
- event_bus:事件總線。用於全局事件廣播。
- flutter_blue:藍牙。
- flutter_nfc_reader:NFC。
- flutter_sound:音頻錄放。
- geolocator:定位信息。
- image_picker:相機和相冊。
- path_provider:文件讀寫。
- proximity_plugin:距離傳感器。
- shared_preferences:首選項。
- sqflite:SQLite。
- url_launcher:從URL加載網頁。
- video_player:視頻播放。支持播放本地和網絡視頻。