flutter項目調試問題小結

背景

目標是用android studio + flutter 跑hello world

下載

android studio

我下載的是2024.3.2.15版本

最新版下載首頁就能下:下載 Android Studio 和應用工具 - Android 開發者 ?|? Android Developers

歷史版本可在歸檔列表下載:Android Studio 下載文件歸檔 ?|? Android Developers

注意,打開歸檔列表沒東西是因為網頁為中文,把語言改成英文,滑動到最底下選擇同意,就能看到歸檔列表了

flutter

我下載的是3.22版本

在歸檔列表可下載歷史版本:歸檔列表 | Flutter 中文文檔 - Flutter 中文開發者網站 - Flutter

版本

android studio: m版本

flutter sdk:3.22版本

android studio?

不同版本會有差異,我用emulator運行項目,ladybug運行emulator會提示下載haxm,haxm在github才能下,國內訪問github有時會訪問不了。最后卸載了l版本,下載了m版本

flutter

剛開始下了最新版(3.32),發現和gradle,kotlin有些不兼容,提示要用gradle9.0以上版本,但gradle9.0又找不到包,調了半天,無果。

后來卸了,裝了個3.22版本,調調能跑

困難

用flutter3.32+android studio m版本調了半天調不出來

配置

創建項目時flutter sdk path

創建flutter項目,會提示輸入flutter sdk path,這里填環境變量配置的那個bin目錄的上級目錄就可以

環境變量

這倆必選要配,不知道配哪可配用戶變量

這個可選配置,配flutter命令,配了可能方便些,任意cmd窗口都能執行flutter命令。找到flutter sdk的安裝路徑(解壓路徑),把bin目錄絕對路徑加到用戶變量的path下

gradle

配置點如下,此處gradle版本是8.6,android studio版本是m

gradle下載源配國內鏡像,如果用默認的services.gradle.org會超時

settings.gradle和build.gradle加上國內源,否則也可能超時

emulator

運行avd后可運行設備未顯示emulator

檢查android studio是否安裝cmdl tools,在settings下sdk tools底下找到command line tools字樣,若未安裝則勾選,然后點確認或apply,點完了會彈窗下載,安裝完comand line tools,退出android studio重新打開項目,重新運行avd,檢查可運行設備是否顯示avd

若還不行,可能licenses未接受,配了flutter環境變量前提下,打開一個cmd終端,輸入flutter doctor --android-licenses 處理license是接受還是拒絕,完成后再重試檢查是否能avd運行項目

項目運行

java和gradle版本不匹配

運行flutter doctor --verbose 檢查android chain下面的build版本,即java版本,再對照java版本找合適的gradle版本。我用了java21,gradle最開始用了7.6,提示gradle和java版本不兼容,把gradle換成8.6就好了

可提升點

運行速度

emulator 用gradle構建很慢,可能電腦性能一般,或者下載各依賴軟件太慢,可能都是在線下的,后續考慮此問題

其他問題

運行flutter項目報錯不兼容 需要gradle9.0以上版本

檢查flutter項目絕對路徑是否有中文,如果有中文改成英文

flutter使用provider報錯,提示Another exception was thrown: Tried to listen to a value exposed with provider, from outside of the widget tree.

將Provider.of<T>(context) 改為Provider.of<t>(context, listen: false)

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

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

相關文章

明細列表,明細grid中的默認按鈕失效,配置按鈕失效

明細列表&#xff0c;明細grid中的默認按鈕失效&#xff0c;配置按鈕失效原因&#xff1a;采用通配的寫法導致的默認按鈕失效if(menuDetails){menuDetails.forEach((item) > {const { name, menu_detail_columns, menu_detail_buttons, save_url} item;this.set(${name}Gri…

Matplotlib 30分鐘精通

?? Matplotlib 30分鐘精通計劃(完整版含輸出) ? 時間分配 5分鐘:Matplotlib基礎概念和簡單圖表 10分鐘:常用圖表類型詳解 10分鐘:圖表美化和定制 5分鐘:綜合實戰練習 ?? 第一部分:Matplotlib基礎概念 (5分鐘) 1. 什么是Matplotlib? import matplotlib.pyplot a…

7月19日 暴雨藍色預警:全國多地迎強降雨,需防范次生災害

中央氣象臺7月19日10時繼續發布暴雨藍色預警,預計未來24小時(19日14時至20日14時),我國多地將迎來大到暴雨,局地甚至出現大暴雨,并伴有短時強降水、雷暴大風等強對流天氣,需加強防范。 強降雨覆蓋范圍廣,多地需警惕極端降水 此次降雨影響范圍廣泛,涉及華北、華南、西…

Redis學習-05Redis基本數據結構

Redis 數據結構 String 字符串 基本命令表命令執行效果時間復雜度set key value [key value…]設置 key 的值是 valueO(k), k 是鍵個數get key獲取 key 的值O(1)del key [key …]刪除指定的 keyO(k), k 是鍵個數mset key value [key value …]批量設置指定的 key 和 valueO(k),…

開啟modbus tcp模擬調試

1、新建modbus tcp服務器 ?功能差異??客戶端功能?&#xff1a; 生成并發送Modbus請求報文&#xff08;如功能碼03讀取寄存器&#xff09;。?? 解析服務器響應數據&#xff0c;實現遠程監控或控制。?? ?服務器端功能?&#xff1a; 監聽默認端口&#xff08;如502&…

昇思+香橙派 AI 開發實踐:DeepSeek 全流程指南(基于 openEuler)

一、 環境準備 1. 鏡像燒錄 鏡像燒錄可以在任何操作系統內執?&#xff0c;這?以在Windows系統為例&#xff0c;使用balenaEtcher?具&#xff0c;快速燒錄鏡像到Micro SD卡中。 本章節所需的軟/硬件如下&#xff1a; 軟件相關&#xff1a;balenaEtcher制卡?具、openEul…

AI生成郵件發送腳本(帶附件/HTML排版)與定時爬取網站→郵件通知(價格監控原型)

想象一下&#xff1a;每天早晨咖啡還沒喝完&#xff0c;你的郵箱就自動收到了心儀商品的最新價格&#xff1b;重要報告準時帶著專業排版的附件發送到客戶手中——這一切不需要你手動操作。本文將用不到100行代碼帶你實現這兩個自動化神器&#xff01; 一、為什么我們需要自動化…

【vLLM 學習】Encoder Decoder Multimodal

vLLM 是一款專為大語言模型推理加速而設計的框架&#xff0c;實現了 KV 緩存內存幾乎零浪費&#xff0c;解決了內存管理瓶頸問題。 更多 vLLM 中文文檔及教程可訪問 →https://vllm.hyper.ai/ *在線運行 vLLM 入門教程&#xff1a;零基礎分步指南 源碼 examples/offline_inf…

【MySQL筆記】視圖

目錄一、什么是視圖&#xff1f;二、使用視圖的優勢三、視圖的創建與使用四、不能更新視圖的場景五、刪除視圖六、總結一、什么是視圖&#xff1f; 視圖&#xff08;View&#xff09;是一種虛擬表&#xff0c;不存儲實際數據&#xff0c;而是通過執行預定義的查詢動態生成數據…

【RK3576】【Android14】分區劃分

獲取更多相關的【RK3576】【Android14】驅動開發&#xff0c;可收藏系列博文&#xff0c;持續更新中&#xff1a; 【RK3576】Android 14 驅動開發實戰指南

Datawhale 25年7月組隊學習coze-ai-assistant Task1學習筆記:動手實踐第一個AI Agent—英倫生活口語陪練精靈

Chap1 了解AI工作流 1.1什么是工作流 工作流 就像是一條流水線&#xff0c;把復雜的任務拆分成多個簡單的步驟&#xff0c;每一步都有明確的目標和流程。1.2智能體和工作流的區別 智能體&#xff08;AI Agent&#xff09; **是什么 &#xff1a;**智能體是一個自動化的“助手”…

Webpack插件開發深度指南:從原理到實戰

Webpack插件是前端工程化的核心引擎&#xff0c;本文將帶你深入插件開發全流程&#xff0c;實現一個功能完整的資源清單插件&#xff0c;并揭示Tapable事件系統的核心原理。 一、Webpack插件機制解析 1.1 插件架構核心&#xff1a;Tapable事件系統 Webpack基于Tapable構建了…

2、Redis持久化詳解

Redis持久化詳解 文章目錄 Redis持久化詳解 前言 RDB和AOF的區別 RDB和AOF的優缺點 Redis 持久化配置 1、RDB持久化配置 2、AOF持久化配置(嘗試修復會刪除aof文件內容) 3、AOF 重寫功能 新增知識點: 新增知識點: 前言 Redis是一種高級 key-value 型的NoSQL數據庫。它跟mem…

curl 命令詳解

curl 命令的 -d/–data 和 --data-urlencode 的區別 curl 命令的 -d/–data 和 --data-urlencode 都用于發送 HTTP POST 請求的數據&#xff0c;但關鍵區別在于 是否自動對數據進行 URL 編碼。以下是詳細對比&#xff1a; curl 命令的 -d/--data 和 --data-urlencode 都用于發送…

ubuntu下好用的錄屏工具

以下是 vokoscreen 的安裝教程&#xff0c;適用于 Linux 系統。vokoscreen 是一款簡單易用的屏幕錄制工具&#xff0c;支持錄制屏幕、攝像頭和音頻。 安裝 vokoscreen vokoscreen 提供了多種安裝方式&#xff0c;包括通過包管理器、Deb 包或 AppImage 文件。 方法 1&#xf…

筆試大題20分值(用兩個棧實現隊列)

目錄前言一、原題二、解題思路三、代碼實現&#xff08;c/c&#xff09;C語言代碼C代碼實現結語前言 目前博主在處于秋招求職的關鍵時期&#xff0c;在暑假這段時間會頻繁更新博客&#xff0c;想在暑假期間把一些常考的面試和筆試題過一下&#xff0c;利用這兩個月沉淀一下技術…

【知識掃盲】tokenizer.json中的vocab和merges是什么?

在自然語言處理里&#xff0c;tokenizer.json 文件一般是由 Hugging Face 的 Tokenizers 庫生成的&#xff0c;它是分詞器配置的核心文件。這里面的 vocab 和 merges 是子詞分詞算法&#xff08;像 BPE 這種&#xff09;的重要構成要素。下面為你詳細解釋它們的作用和工作原理&…

【安卓筆記】RxJava的Hook機制,整體攔截器

0. 環境&#xff1a; 電腦&#xff1a;Windows10 Android Studio: 2024.3.2 編程語言: Java Gradle version&#xff1a;8.11.1 Compile Sdk Version&#xff1a;35 Java 版本&#xff1a;Java11 1. 使用場景 整個項目都是用了RxJava&#xff0c;需要對 整個/部分 項目…

NX二次開發常用函數——從一個坐標系到另一個坐標系的轉換(UF_MTX4_csys_to_csys )相同體坐標轉化

再做項目時相信大家都會用到坐標轉化,例如,我之前寫的案例分享中的博客都用到過,之前總是找借口進行if else判斷,雖然可以實現,但是比起坐標變換無論代碼復雜程度還是運行速度都比較差,之前參加過曹大師的教學訓練營,但是明顯感覺到大佬寫代碼的邏輯性以及模塊化能力都比…

數據庫防止數組字符串序列化

請求接到數組["aa","bb"]后,后端需要轉換成字符串Java 8 使用 String.join()String[] arr {"aa", "bb"}; String str String.join(",", arr); // "aa,bb"如果采用其他轉換,在字段存入數據庫后會["\"a…