flutter開發(一)flutter命令行工具

安裝

Linux下面的flutter安裝比較簡單,在flutter 中文戰 上下載一個最新穩定的版本,解壓到系統上就行了。

我下載的是Linux下的3.32.7版。

解壓之后,flutter目錄里會有bin、dev等目錄,把bin目錄加到系統的PATH環境變量里,就能使用flutter命令了。

配置

根據文檔,在大陸地區使用flutter,最好單獨設置一下鏡像。

我追加了這樣幾行,在$HOME/.bashrc 里:

export PATH=$HOME/flutter/bin:$PATH  
export FLUTTER_STORAGE_BASE_URL="https://storage.flutter-io.cn"  
export PUB_HOSTED_URL="https://pub.flutter-io.cn"

創建項目

我們可以在一個目錄里執行flutter create命令,初始化一個項目。

如:

> flutter create myapp

之后就可以進入myapp目錄進行開發了。

flutter create命令還能修正初始化,即:當我們的項目中自動生成的文件,出現不一致的時候,可以在項目里執行flutter create .來增量初始化。

我改了項目名稱之后,怎么編譯都出錯,就把android目錄刪掉,重新執行了flutter create .,就一切正常了。

編譯

使用flutter編譯的命令是build,后面要跟平臺版本。

如,我們在Fedora 42上的項目目錄里執行flutter build,將會返回:

Build an executable app or install bundle.Global options:
-h, --help                  Print this usage information.
-v, --verbose               Noisy logging, including all shell commands executed.If used with "--help", shows hidden options. If used with "flutter doctor", shows additional diagnosticinformation. (Use "-vv" to force verbose logging in those cases.)
-d, --device-id             Target device id or name (prefixes allowed).--version               Reports the version of this tool.--enable-analytics      Enable telemetry reporting each time a flutter or dart command runs.--disable-analytics     Disable telemetry reporting each time a flutter or dart command runs, until it is re-enabled.--suppress-analytics    Suppress analytics reporting for the current CLI invocation.Usage: flutter build <subcommand> [arguments]
-h, --help    Print this usage information.Available subcommands:aar         Build a repository containing an AAR and a POM file.apk         Build an Android APK file from your app.appbundle   Build an Android App Bundle file from your app.bundle      Build the Flutter assets directory from your app.linux       Build a Linux desktop application.web         Build a web application bundle.Run "flutter help" to see global options.

通過最后部分,我們知道可以編譯的版本有:aar、apk、appbundle、bundle、linux與web。

如:flutter build apk將編譯一個Android上面的apk包出來。

分析

如果要分析源代碼是否有問題,可以使用:

> flutter analyze

運行

如果要運行程序,可以使用flutter run命令。

默認地,flutter將啟動第一個可用的設備。

> flutter run

也可以加上-d ID設備id的方式,來啟動程序到指定的設備上。

> flutter run -d linux

Android虛擬機

kvm模塊

要使用Android虛擬機,需要加載kvm驅動模塊。

而且,Intel與AMD的kvm模塊不一樣

在Intel 的CPU系統中,使用modprobe kvm-intel;在AMD的CPU系統中,使用modprobe kvm-amd

枚舉Android設備

枚舉系統上可以用的Android設備,使用flutter emulators

> flutter emulators
Flutter assets will be downloaded from https://storage.flutter-io.cn. Make sure you trust this source!  
2 available emulators:  Id                            ? Name                            ? Manufacturer ? Platform  Medium_Phone_API_35           ? Medium Phone API 35             ? Generic      ? android  
Resizable_Experimental_API_34 ? Resizable (Experimental) API 34 ? Generic      ? android  To run an emulator, run 'flutter emulators --launch <emulator id>'.  
To create a new emulator, run 'flutter emulators --create [--name xyz]'.  You can find more information on managing emulators at the links below:  https://developer.android.com/studio/run/managing-avds  https://developer.android.com/studio/command-line/avdmanager

啟動Android設備

flutter emulators命令加上--launch ID命令,即啟動了相應ID的設備。

如:

> flutter emulators --launch Medium_Phone_API_35
Flutter assets will be downloaded from https://storage.flutter-io.cn. Make sure you trust this source!

查看運行的Android設備ID

啟動Android設備之后,就可以使用flutter devices查看到了。

> flutter devices
Flutter assets will be downloaded from https://storage.flutter-io.cn. Make sure you trust this source!  
Found 2 connected devices:  sdk gphone16k x86 64 (mobile) ? emulator-5554 ? android-x64 ? Android 15 (API 35) (emulator)  Linux (desktop)               ? linux         ? linux-x64   ? Fedora Linux 42 (Workstation Edition) 6.15.6-200.fc42.x86_64  Run "flutter emulators" to list and start any available device emulators.  If you expected another device to be detected, please run "flutter doctor" to diagnose potential issues. You may also try increasing  
the time to wait for connected devices with the "--device-timeout" flag. Visit https://flutter.dev/setup/ for troubleshooting tips.

在運行的Android虛擬機運行

通過上面的flutter devices命令,我們得到了兩個可以使用的運行中的設備,一個是emulator-5554,一個是linux

其中,linux是主機,emulator-5554就是我們剛剛通過flutter emulators --launch ID啟動起來的安卓虛擬機。

使用flutter run -d ID命令,就可以在這個虛擬機上運行應用。

> flutter run -d emulator-5554

依賴

flutter pub加上子命令,可以管理插件包。

其中,

  • flutter pub add 加入一個插件包
  • flutter pub get 下載插件包
  • flutter pub outdated 檢查過時插件包
  • flutter pub upgrade 升級插件包

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/92518.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/92518.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/92518.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

OpenCV 入門實戰:從環境配置到圖像 / 視頻處理

OpenCV 是計算機視覺領域最常用的開源庫之一&#xff0c;它提供了豐富的圖像和視頻處理功能。本文將從環境配置開始&#xff0c;帶大家一步步解析基礎操作代碼&#xff0c;快速入門 OpenCV 的使用。 一、環境配置 在開始之前&#xff0c;我們需要先搭建好 OpenCV 的運行環境。…

2.2.1 飾面板材和陶瓷的特性和應用

1、飾面石材1&#xff09;天然花崗巖2&#xff09;天然大理石3&#xff09;人造石&#xff08;1&#xff09;人造石按主要原材料分包括人造石實體面材、人造石英石和人造石崗石等產品。2、建筑衛生陶瓷建筑衛生陶瓷包括建筑陶瓷和衛生陶瓷兩大類。建筑陶瓷包括陶瓷磚、建筑琉璃…

C++的結構體數組

結構體數組的基礎知識 結構體數組通過??組合數據批量管理??的特性&#xff0c;廣泛應用于學生管理、游戲角色屬性存儲等場景。常見問題 ??數組越界??&#xff1a;靜態數組長度固定&#xff0c;超過數組長度的訪問&#xff0c;會導致未定義行為。??未初始化成員??&a…

小程序中使用echarts(2025/8/8)

這篇博文講的很詳細&#xff0c;也很簡潔&#xff0c;這里補充一點東西 小程序中使用echarts(硬貨&#xff0c;全網最詳細教程&#xff01;)_小程序使用echarts-CSDN博客 簡單來說就是去官網下載ec-canvas組件&#xff0c;將其中的echarts.js換成echarts.min.js&#xff08;原…

【SpringBoot】SpringBoot配置

根據自動配置原理 學習后&#xff0c;整理學習筆記 一定要耐心去看&#xff0c;耐著性子去學習&#xff0c;慢慢慢慢就明白了 配置深化學習 前提 通過 SpringBootApplication 找到 EnableAutoConfiguration&#xff1b;發現 Import({AutoConfigurationImportSelector.class})…

網絡安全與軟件定義汽車的發展

在許多汽車公司&#xff0c;同一個系統工程團隊同時負責安全&#xff08;safety&#xff09;和安防&#xff08;security&#xff09;。因此&#xff0c;網絡安全被視為安全&#xff08;safety&#xff09;的一個子集&#xff0c;其根源在于一個隱含的假設&#xff1a;“如果安…

字典列表依據數值鍵排序

要根據字典列表中的特定數值鍵進行排序&#xff0c;我們可以使用 Python 的 sorted() 函數配合自定義排序鍵。以下是操作方法&#xff1a; 1. 按升序排序&#xff08;從小到大&#xff09; sorted_list sorted(original_list, keylambda x: x[數值鍵名])2. 按降序排序&#xf…

五、SpringBoot工程打包與運行

SpringBoot工程打包與運行 1、SpringBoot項目快速啟動&#xff08;Windows版&#xff09; (1)對SpringBoot項目打包&#xff08;執行Maven構建指令package&#xff09;&#xff1a; mvn package (2)運行項目&#xff08;執行啟動指令&#xff09; java -jar springboot.jar 2、…

構建高可用架構:ZDNS GSLB 在多數據中心場景下的應用與 F5 替換實踐

隨著互聯網的快速發展&#xff0c;金融機構、大型企業等組織單位&#xff0c;出于自身業務發展的需要和國家監管的要求&#xff0c;紛紛通過建設多數據中心來提升不同地區的用戶體驗&#xff0c;同時避免不可抗力因素帶來的巨大損失。ZDNS GSLB 全局負載均衡技術&#xff0c;能…

【JMeter】壓測腳本生成完善增強

JMeter 壓測腳本生成完善增強0. 通過JMeter代理服務器錄制腳本1. 設置客戶端的代理2. JMeter GUI配置 以及錄制腳本3. 調試腳本附錄0. 通過JMeter代理服務器錄制腳本 1. 設置客戶端的代理 JMeter代理服務器默認端口號就是8888 2. JMeter GUI配置 以及錄制腳本 新建線程組 …

Agent 開發進階路線:從基礎功能到自主決策

Agent 開發進階路線&#xff1a;從基礎功能到自主決策基礎功能構建定義 Agent 的核心功能&#xff0c;如信息收集、簡單任務執行和環境交互。 實現基本的感知-決策-執行循環&#xff0c;確保 Agent 能響應外部輸入并完成預設任務。 集成 API 調用或傳感器交互&#xff0c;擴展 …

使用 ECharts GL 實現 3D 中國地圖點位飛線效果

前言在現代數據可視化領域&#xff0c;3D 地圖飛線效果是一種非常吸引人的展示方式&#xff0c;特別適合展示地理空間關系和數據流動。本文將詳細解析如何使用 ECharts GL 在 Vue 項目中實現一個 3D 中國地圖飛線效果。技術棧Vue.js 2.x/3.xECharts 5.xECharts GL 2.x核心實現步…

Redis對象編碼

前言 Redis中提供多種數據結構&#xff1a;string、list、map、set、zset等&#xff0c;關于上述多種數據類型的底層實現原理&#xff0c;Redis針對不同的數據類型對應的不同使用場景從時間和空間上進行平衡選擇不同的對象編碼方式。本文大致介紹一些Redis對象編碼方式以及在上…

12-Django項目實戰-登錄短信驗證

1.路由配置 2.對接第三方短信接口 詳細內容請點擊 3.視圖函數 def sms_view(request):"""短信驗證視圖邏輯1.獲取請求體的數據[phone]2.調用封裝的短信發送接口&#xff0c;實現發送短信"""data json.loads(request.body)phone data.get(&q…

Java技術棧/面試題合集(11)-設計模式篇

場景 Java入門、進階、強化、擴展、知識體系完善等知識點學習、性能優化、源碼分析專欄分享: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/140870227 通過對面試題進行系統的復習可以對Java體系的知識點進行查漏補缺。 注: 博客: 霸道流氓氣質-CSDN博…

Linux系統:Ext系列文件系統(軟件篇)

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄[TOC](文章目錄)一&#xff0c;ext2文件系統1-1 宏觀認識1-2 Block Group1-3 塊組內部構成1-3-1 超級塊(Super Block)1-3-2 塊組描述符表GDT(Group Descriptor Table…

14. isaacsim4.2教程-April Tags/給相機加噪聲

1. 前言April Tags 是一種視覺標簽&#xff08;類似 QR 碼&#xff09;&#xff0c;用于通過相機進行定位和識別。它們通常用于計算機視覺任務中&#xff0c;幫助機器人識別和定位自己在物理空間中的位置&#xff0c;或者識別和追蹤特定對象。前提條件啟用 ROS 橋接&#xff1a…

Kafka + 時間輪 + 數據庫實現延遲隊列方案

Kafka 原生不支持延遲隊列功能。而RabbitMQ、RocketMQ及Redis等其他消息隊列原生支持延遲隊列。 RabbitMQ RocketMQ Redis 實現方式 通過插件實現&#xff0c;消息進入延遲隊列后根據配置時間過濾轉發。 原生支持&#xff0c;發送消息時設置延遲級別&#xff0c;定時任務處…

力扣 hot100 Day69

287. 尋找重復數 給定一個包含 n 1 個整數的數組 nums &#xff0c;其數字都在 [1, n] 范圍內&#xff08;包括 1 和 n&#xff09;&#xff0c;可知至少存在一個重復的整數。 假設 nums 只有 一個重復的整數 &#xff0c;返回 這個重復的數 。 你設計的解決方案必須 不修改…

Android 的CameraX的使用(配置,預覽,拍照,圖像分析,錄視頻)

Android Studio 版本號:2024.1.2 CameraX是Jetpack系列中的一個庫,它基于Camera2 API構建,但提供了更高層次的抽象。 CameraX 三大核心用例: Preview預覽 ,ImageCapture拍照和 VideoCapture錄視頻 一、創建項目,進行環境配置 CameraX 需要一些屬于 Java 8 的方法,因此…