【01】噩夢終結flutter配安卓android鴻蒙harmonyOS 以及next調試環境配鴻蒙和ios真機調試環境-flutter項目安卓環境配置

噩夢終結:Flutter 配安卓、鴻蒙、iOS 真機調試環境

問題背景

很多開發者在配置 Flutter 項目環境時遇到困難,尤其是在處理 Android、鴻蒙和 iOS 真機調試環境時。卓伊凡最近接手了一個項目,發現很多“專業程序員”在環境搭建上花費了大量時間,甚至有人花了三天時間才安裝好環境,還有人花了一周時間配置打包環境。這些問題不僅浪費時間,還影響了項目的進度。

對于 Flutter 開發者來說,配置環境是一個常見的痛點,尤其是在處理 Gradle、AGP、NDK 版本等問題時。很多開發者對這些工具的使用并不熟悉,導致項目無法順利運行。本文將分享如何快速搭建 Flutter 項目的 Android 和 iOS 調試環境,并介紹如何使用 AppUploader 來簡化 iOS 應用的打包和上傳流程。

打包方法

Android 環境配置

  1. 打開 Android Studio
    首先,用 Android Studio 打開 Flutter 項目中的 android 目錄。

  2. 配置 local.properties 文件
    local.properties 文件中,指定 Flutter SDK 和 Android SDK 的路徑:

    flutter.sdk=D:\\soft\\flutter
    sdk.dir=D\:\\soft\\Android\\sdk
    
  3. 安裝 NDK
    如果你的項目需要使用 NDK,可以通過 Android Studio 的 SDK Manager 安裝。安裝完成后,在 local.properties 文件中添加 NDK 路徑:

    ndk.dir=D\:\\soft\\Android\\sdk\\ndk\\28.0.13004108
    
  4. 配置 build.gradle 文件
    build.gradle 文件中,確保 NDK 版本與 local.properties 中的版本一致:

    android {namespace "com.example.ff_flutter"ndkVersion "28.0.13004108"compileSdkVersion 34defaultConfig {applicationId "com.example.ff_flutter"minSdk 31targetSdk 34versionCode 1versionName "1.0"}
    }
    
  5. 清理并重新構建項目
    在終端中運行以下命令,清理項目并重新獲取依賴:

    flutter clean
    flutter pub get
    

iOS 環境配置

對于 iOS 開發者來說,配置環境同樣是一個挑戰。幸運的是,AppUploader 可以幫助你簡化 iOS 應用的打包和上傳流程。AppUploader 是一款專為 iOS 開發者設計的工具,支持自動打包、簽名和上傳應用到 App Store,極大地提高了開發效率。

  1. 安裝 AppUploader
    你可以從 AppUploader 官網下載并安裝該工具。安裝完成后,打開 AppUploader 并登錄你的 Apple 開發者賬號。

  2. 配置項目
    在 AppUploader 中,選擇你的 Flutter 項目,并配置應用的 Bundle ID、版本號等信息。AppUploader 會自動檢測項目的配置,并生成相應的簽名文件。

  3. 打包并上傳應用
    點擊“打包”按鈕,AppUploader 會自動打包你的應用,并生成 IPA 文件。打包完成后,你可以直接通過 AppUploader 將應用上傳到 App Store,無需手動操作 Xcode。

常見問題及解決方案

1. Flutter SDK 路徑未指定

如果你在同步項目時遇到以下錯誤:

A problem occurred evaluating settings 'android'.
flutter.sdk not set in local.properties.

解決方案:
local.properties 文件中指定 Flutter SDK 的路徑:

flutter.sdk=D:\\soft\\flutter

2. NDK 版本不匹配

如果你在構建項目時遇到以下錯誤:

Could not get unknown property 'ndkVersion' for object of type org.gradle.internal.extensibility.DefaultExtraPropertiesExtension.

解決方案:
local.properties 文件中指定 NDK 路徑,并在 build.gradle 文件中配置正確的 NDK 版本。

3. 測試任務未找到

如果你在運行測試時遇到以下錯誤:

Task 'testClasses' not found in project ':app'.

解決方案:
build.gradle 文件中手動添加 testClasses 任務:

task testClasses {dependsOn compileTestJava
}

總結

通過本文,你可以快速搭建 Flutter 項目的 Android 和 iOS 調試環境,并解決常見的構建問題。對于 iOS 開發者來說,AppUploader 是一個強大的工具,能夠幫助你簡化應用的打包和上傳流程,節省大量時間。希望本文能幫助你更好地理解 Flutter 項目的環境配置,并提升開發效率。

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

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

相關文章

進程狀態:Linux的幕后指揮管理,穿越操作系統進程的靜與動

文章目錄 引言:進程的生命與狀態:動與靜的交響曲一、操作系統中的進程狀態概述1.1 經典的進程狀態模型1.2 進程狀態轉換圖 二、Linux操作系統中的進程狀態2.1 Linux進程狀態的分類2.2 各狀態的詳細解釋 2.3 Linux進程狀態表2.4 使用ps查看進程狀態三、進…

MOSN(Modular Open Smart Network)-05-MOSN 平滑升級原理解析

前言 大家好,我是老馬。 sofastack 其實出來很久了,第一次應該是在 2022 年左右開始關注,但是一直沒有深入研究。 最近想學習一下 SOFA 對于生態的設計和思考。 sofaboot 系列 SOFAStack-00-sofa 技術棧概覽 MOSN(Modular O…

基于深度學習的圖像超分辨率技術研究與實現

一、引言 在數字圖像處理領域,圖像超分辨率技術一直是一個備受關注的熱點話題。隨著人們對圖像質量要求的不斷提高,如何將低分辨率圖像提升到高分辨率,同時保持圖像的細節和清晰度,成為了一個極具挑戰性的問題。傳統的圖像超分辨率…

構建高可用性西門子Camstar服務守護者:異常監控與自愈實踐

在智能制造領域,西門子Camstar作為領先的MES系統承載著關鍵生產業務。但在實際運維中,我們發現其服務常因數據庫負載激增(如SQL阻塞鏈超時)或應用服務器資源耗盡(CPU峰值達90%以上)導致服務不可用。傳統人工干預方式平均故障恢復時間長達47分鐘,這對連續生產場景構成了嚴…

Java Collection API增強功能系列之二 List.of、Set.of、Map.of

Java 9集合工廠方法:用List.of、Set.of、Map.of創建安全不可變集合 Java 9引入了革命性的集合工廠方法List.of、Set.of和Map.of,徹底改變了開發者創建小型不可變集合的方式。這些方法不僅語法簡潔,還在安全性和性能上實現了質的飛躍。本文將…

網絡通信微服務

網絡通信 VPN 服務器分配內網 IP,加密所有流量,以使用外網訪問內網資源 使用了VPN只是第一關,只進入了人家的大廳,只可以訪問公共服務(像是只可以在人間公司的大廳里溜達),若想要訪問人家提供的高級服務&a…

arm之s3c2440的I2C的用法

基礎概念 IC(Inter-Integrated Circuit)又稱I2C,是是IICBus簡稱,所以中文應該叫集成電路總線。 IIC的總線的使用場景,所有掛載在IIC總線上的設備都有兩根信號線,一根是數據線SDA,另一 根是時鐘…

算法 | 蜣螂優化算法原理,引言,公式,算法改進綜述,應用場景及matlab完整代碼

蜣螂優化算法(Dung Beetle Optimizer, DBO)詳解 1. 算法原理 蜣螂優化算法(DBO)是一種基于自然界蜣螂行為的元啟發式優化算法,靈感來源于蜣螂的滾球、繁殖、覓食和偷竊行為。其核心思想是通過模擬蜣螂在復雜環境中的協作與競爭機制,解決全局優化問題。關鍵行為模擬: 滾球…

uniapp開發實戰自定義組件形式實現自定義海報功能

在 UniApp 中實現自定義海報功能,可以通過 Canvas 來繪制海報。Canvas 提供了豐富的繪圖 API,可以精確控制文字、圖片和二維碼的位置。下面是一個完整的示例,展示如何創建一個自定義海報組件。 項目結構 假設你的項目結構如下: project-root/ ├── pages/ │ └──…

dockerfile構建鏡像方式

在 Docker 中&#xff0c;可使用 docker build 命令依據 Dockerfile 構建鏡像。下面為你詳細介紹構建鏡像的具體方式。 基本構建命令 若要構建鏡像&#xff0c;需在包含 Dockerfile 的目錄下執行 docker build 命令。基本語法如下&#xff1a; bash docker build -t <鏡像…

STM32F103_LL庫+寄存器學習筆記10 - DMA傳輸過半+DMA傳輸完成中斷實現DMA串口接收“雙緩沖“

導言 《[[STM32F103_LL庫寄存器學習筆記09 - DMA串口接收與DMA串口發送&#xff0c;串口接收空閑中斷]]》上一章節完成DMA發送與接收。此時&#xff0c;有一個致命的問題可能會導致數據包丟失。原因是USART1接收只開啟了接收空閑中斷(IDLE)&#xff0c;DMA在連續模式下&#xf…

李宏毅機器學習筆記06 | 魚和熊掌可以兼得的機器學習 - 內容接寶可夢

本章提要 深度學習可以在較少參數量的情況下得到比較低的loss&#xff1a; h a l l a r g min ? h ∈ H L ( h , D a l l ) h^{all}arg \min_{h \in H}L(h,D_{all}) hallargminh∈H?L(h,Dall?) 引入 如何權衡模型的復雜程度 Tradeoff of Model Complexity 理論上&#…

java八股文之JVM

1.什么是程序計數器 程序計數器是 JVM 管理線程執行的“定位器”&#xff0c;記錄每個線程當前執行的指令位置&#xff0c;確保程序流程的連續性和線程切換的準確性。線程私有的&#xff0c;每個線程一份&#xff0c;內部保存的字節碼的行號。用于記錄正在執行的字節碼指令的地…

Android設計模式之觀察者模式

一、定義&#xff1a;定義對象間一種一對多的依賴關系&#xff0c;使得每當一個對象改變狀態&#xff0c;則所有依賴于它的對象都會得到通知并被自動更新。 二、核心角色&#xff1a; Subject&#xff1a;抽象主題被觀察的角色&#xff0c;管理觀察者集合&#xff0c;提供注冊…

海康gdb流程

gdb相關 在initrun.sh文件里加入&#xff0c;注意需要在hikauto起來之前 # 設置core dump大小 ulimit -c unlimited if [ $? -eq 0 ];then echo "core dump size set success" else echo -e "\33[31m core dump size set fail\33[0m" fi echo …

springBoot統一響應類型3.3版本

前言&#xff1a; 通過實踐而發現真理&#xff0c;又通過實踐而證實真理和發展真理。從感性認識而能動地發展到理性認識&#xff0c;又從理性認識而能動地指導革命實踐&#xff0c;改造主觀世界和客觀世界。實踐、認識、再實踐、再認識&#xff0c;這種形式&#xff0c;循環往…

【空間變換】歐拉角與四元數

核心 歐拉角描述的是一種變換&#xff0c;只關注變換后的結果&#xff0c;不關注變換過程中的運動 而四元數不僅良好地表示了一種變換&#xff0c;也很好地表示了一種運動過程&#xff0c;又避免了萬向節死鎖Gimbal Lock變換順序&#xff0c;是歐拉角變換的一部分&#xff0c;…

基于Linux下的MyBash命令解釋器

項目介紹&#xff1a;?個?C語?實現的簡單shell&#xff0c;可以接受??輸?的命令并執?操作&#xff0c;?持多管道和重 定向。 mybash---打造自己的命令解釋器 目前我們Linux的系統默認的命令解釋器是bash; 命令解釋器&#xff08;也稱為命令行解釋器或shell&#xff0…

Linux常見使用場景

一、文件查看與內容操作 ?1. cat ?作用&#xff1a;查看文件內容&#xff08;一次性輸出全部內容&#xff09;。?常用選項&#xff1a; -n&#xff1a;顯示行號。-b&#xff1a;僅對非空行顯示行號。 ?示例&#xff1a; cat file.txt # 查看文件內容 cat -n fil…

Ingredient-oriented Multi-Degradation Learning for Image Restoration論文閱讀

摘要&#xff1a;重點在于關聯多個任務本質的聯系。 不同恢復任務的關聯性很重要。 揭示退化現象的內在機理聯系很有意義。 多合一的方法能在單一模型中處理多種退化問題&#xff0c;可擴展性較差。 成分導向范式挖掘不同圖像退化現象背后的物理規律或特征模式。 成分導向退化重…