在 Google IO 會(huì)議上展示了一個(gè)在樹莓派上運(yùn)行 Flutter 的可能性。然而,該會(huì)議并未提供全面的、一步一步的指南供用戶參考。本文旨在填補(bǔ)這一空白,提供詳細(xì)的操作步驟,幫助你在樹莓派上運(yùn)行 Flutter。
通過遵循本文中概述的步驟,你將獲得在樹莓派上設(shè)置 Flutter 的知識(shí)和信心。無論你是初學(xué)者還是經(jīng)驗(yàn)豐富的 Flutter 開發(fā)者,本指南都將確保你對(duì)過程有清晰的了解,并能順利完成。
在本文中,我們特別關(guān)注使用樹莓派作為我們的嵌入式設(shè)備。然而,需要注意的是,在大多數(shù)工業(yè)項(xiàng)目中,您不會(huì)使用樹莓派,而是使用其他基于arm64的解決方案。在這方面,我們使用的方法也適用于大多數(shù)其他基于arm64的SOC,甚至在生產(chǎn)中也適用!
在深入細(xì)節(jié)之前,我想對(duì) Moritz 在創(chuàng)建本文時(shí)提供的寶貴幫助表示感謝。同時(shí),我也要感謝 Snapp Embedded 提供必要的環(huán)境和支持,使我能夠撰寫本文。
在樹莓派上運(yùn)行 Flutter 需要什么?
在開始開發(fā)過程之前,更重要的是要清楚地了解在樹莓派上運(yùn)行 Flutter 需要什么。讓我們來看看必要的組件:

1.樹莓派 4 Model B:這主要硬件組件。建議至少購(gòu)買 4GB RAM 版本以獲得最佳性能。(2GB 版本應(yīng)該也能工作。)
2.顯示器:如果你已經(jīng)有顯示器,可以使用 micro HDMI 線纜將其連接到樹莓派。或者,你可以考慮購(gòu)買官方的 7 英寸樹莓派顯示器以進(jìn)行專用設(shè)置。
3.SD 卡:樹莓派需要 SD 卡進(jìn)行存儲(chǔ)。建議使用高質(zhì)量的 Class 10 microSD 卡以獲得最佳性能。在大多數(shù)情況下,32GB 的容量應(yīng)該足夠。
4.電源:為樹莓派提供可靠的電源至關(guān)重要。你可以使用官方的樹莓派電源,或者任何能穩(wěn)定提供 5.0V / 3.0A 輸出的充電器。
5.輸入設(shè)備:為了與樹莓派交互,需要使用鼠標(biāo)和鍵盤??梢酝ㄟ^ USB 或藍(lán)牙將它們連接到樹莓派。
確保擁有這些必要的組件,就可以準(zhǔn)備好設(shè)置樹莓派來運(yùn)行 Flutter ,并可以滿懷信心的開始你的開發(fā)之旅。
開發(fā)環(huán)境
當(dāng)涉及到為嵌入式設(shè)備創(chuàng)建應(yīng)用程序時(shí),開發(fā)過程不同于傳統(tǒng)的移動(dòng)應(yīng)用程序開發(fā)。在移動(dòng)設(shè)備開發(fā)中,您使用筆記本電腦或PC作為開發(fā)設(shè)備,使用手機(jī)作為運(yùn)行設(shè)備,與此不同,嵌入式設(shè)備開發(fā)需要使用不同的方法。
在嵌入式設(shè)備開發(fā)的情況下,您的樹莓派既是運(yùn)行設(shè)備又是開發(fā)設(shè)備。這意味著您可以使用樹莓派來構(gòu)建和測(cè)試您的Flutter應(yīng)用程序,提供獨(dú)特的開發(fā)體驗(yàn)。您可以使用我們將在本文中展示的一些方法進(jìn)行交叉編譯,但這通常會(huì)帶來額外的挑戰(zhàn),我們?cè)诖宋闹胁簧婕敖徊婢幾g。此外,在樹莓派上構(gòu)建實(shí)際上并不需要很長(zhǎng)時(shí)間,所以不妨去喝杯咖啡。
此外,你還可以選擇利用某些技術(shù),例如將代碼推送到 GitHub 并在樹莓派上獲取它。因此,你可以在桌面機(jī)器上開發(fā)大部分應(yīng)用程序,實(shí)際上,這種方法的效果比我們想象的要好。但是值得注意的是,這種方法可能會(huì)為你的開發(fā)過程引入額外的復(fù)雜性和挑戰(zhàn),不過我們目前還沒有遇到任何問題。
使用什么操作系統(tǒng)
為樹莓派選擇合適的操作系統(tǒng)(OS)對(duì)于有效運(yùn)行 Flutter 至關(guān)重要。重要的是要注意Flutter 不能在 32 位操作系統(tǒng)上運(yùn)行。幸運(yùn)的是,有多種 64 位選項(xiàng)可供選擇,例如樹莓派 OS 64 位(以前稱為 Raspbian)和 Ubuntu 64 位。
樹莓派64 位系統(tǒng)是一個(gè)官方支持的操作系統(tǒng),它為用戶提供友好的界面、有出色的硬件支持和專門針對(duì)樹莓派設(shè)備優(yōu)化的性能。它預(yù)裝了用于簡(jiǎn)化設(shè)置的軟件和工具,這是在樹莓派上運(yùn)行 Flutter 的一個(gè)有吸引力的選擇。
除了樹莓派操作系統(tǒng),另一個(gè)值得注意的選項(xiàng)是 Ubuntu Core。Ubuntu Core 是為嵌入式設(shè)備設(shè)計(jì)的精簡(jiǎn)版 Ubuntu,它具有增強(qiáng)的安全性、可靠性和易于管理性。
Ubuntu Desktop 64 位系統(tǒng) 是一個(gè)知名且廣泛使用的 Linux 發(fā)行版,它提供強(qiáng)大且多功能的開發(fā)環(huán)境。然而,值得注意的是,由于 Ubuntu Desktop 的系統(tǒng)要求較高,對(duì)于樹莓派等嵌入式設(shè)備來說,它可能會(huì)比較占用資源。這就是為什么我們不推薦它用于我們的應(yīng)用程序。
最終,這些選項(xiàng)之間的選擇是主觀的,取決于個(gè)人偏好和需求。值得注意的是,除了樹莓派操作系統(tǒng)和 Ubuntu,還有各種其他 64 位 Linux 發(fā)行版可供選擇,你可以自由選擇最符合你需求的操作系統(tǒng)。
在工業(yè)場(chǎng)景中,考慮創(chuàng)建一個(gè)專門針對(duì)你的項(xiàng)目需求定制的自定義發(fā)行版,以獲得最佳性能和資源利用率可能是有益的。有關(guān)更多信息,請(qǐng)查看 Yocto-Project。
https://www.yoctoproject.org/
如何安裝樹莓派操作系統(tǒng)
為了簡(jiǎn)化將所選操作系統(tǒng)安裝到樹莓派上的過程,我們將向你介紹樹莓派燒錄器。這個(gè)用戶友好的工具簡(jiǎn)化了將操作系統(tǒng)鏡像寫入 SD 卡的過程。下面,我們將提供詳細(xì)的分步指南,幫助你開始安裝。
1.首先,從官方網(wǎng)站下載樹莓派燒錄器。下載鏈接。
https://www.raspberrypi.com/software/
2.下載并安裝樹莓派燒錄器后,打開應(yīng)用程序。
3.你可以從樹莓派燒錄器提供的可用操作系統(tǒng)列表中選擇與想要的操作系統(tǒng)選項(xiàng),例如樹莓派 OS 64 位或 Ubuntu 64 位。
4.或者,如果你已經(jīng)下載了以 .img 格式提供的自定義操作系統(tǒng)鏡像,你可以在樹莓派燒錄器中選擇“使用自定義”選項(xiàng)。這允許你從計(jì)算機(jī)中選擇自定義操作系統(tǒng)鏡像文件,并繼續(xù)進(jìn)行安裝。
5.現(xiàn)在,將 SD 卡插入計(jì)算機(jī)的讀卡器插槽。確保 SD 卡為空或已經(jīng)備份任何現(xiàn)有數(shù)據(jù),因?yàn)榘惭b過程將覆蓋卡內(nèi)的內(nèi)容。
6.在樹莓派燒錄器中,點(diǎn)擊“選擇 SD 卡”選項(xiàng),并從可用驅(qū)動(dòng)器中選擇你的 SD 卡。仔細(xì)檢查以確保選擇了正確的驅(qū)動(dòng)器,以避免意外數(shù)據(jù)丟失。
7.選擇 SD 卡后,點(diǎn)擊“寫入”按鈕以啟動(dòng)操作系統(tǒng)鏡像寫入過程。樹莓派燒錄器將下載所選的操作系統(tǒng)鏡像(如果你在步驟 3 中選擇了某個(gè)選項(xiàng))或?qū)懭胱远x操作系統(tǒng)鏡像(如果你在步驟 4 中選擇了“使用自定義”選項(xiàng))到 SD 卡。
8.一旦操作系統(tǒng)鏡像成功寫入 SD 卡,你將從樹莓派燒錄器收到通知或確認(rèn)消息。
9.安全地從計(jì)算機(jī)的讀卡器中彈出 SD 卡。
隨著操作系統(tǒng)鏡像成功寫入 SD 卡,你現(xiàn)在可以準(zhǔn)備繼續(xù)設(shè)置樹莓派了。將 SD 卡插入樹莓派的 SD 卡插槽,并打開設(shè)備電源以開始啟動(dòng)過程。樹莓派將使用已安裝的操作系統(tǒng)進(jìn)行初始化,允許你繼續(xù)安裝 Flutter 并運(yùn)行你的應(yīng)用程序。
Linux 知識(shí)探索:顯示服務(wù)器
在我們深入 Flutter 的安裝過程之前,了解 Linux 操作系統(tǒng)的一些基本方面是至關(guān)重要的。我們需要熟悉的一個(gè)關(guān)鍵組件就是 Linux 上的顯示服務(wù)器。
如本文所述:
顯示服務(wù)器是一個(gè)程序,負(fù)責(zé)協(xié)調(diào)其客戶端與操作系統(tǒng)其余部分之間的輸入和輸出,以及與硬件和操作系統(tǒng)之間的輸入和輸出。基本上,由于顯示服務(wù)器的存在,你可以以圖形方式(GUI)使用計(jì)算機(jī)。沒有顯示服務(wù)器,你將只能使用命令行界面(TTY)。
顯示服務(wù)器為圖形環(huán)境提供了框架,以便你可以使用鼠標(biāo)和鍵盤與應(yīng)用程序交互。
顯示服務(wù)器通過顯示服務(wù)器協(xié)議(如 X11)與其客戶端進(jìn)行通信。顯示服務(wù)器是任何圖形用戶界面特別是窗口系統(tǒng)中的關(guān)鍵組件。
Linux 上最流行的兩種顯示協(xié)議是 Wayland 和 X Window 系統(tǒng)(X11 或 X.Org)。這些協(xié)議定義了圖形數(shù)據(jù)如何在屏幕上傳輸和渲染,促進(jìn)了顯示服務(wù)器、應(yīng)用程序和硬件之間的通信。
X11,也稱為 X.Org,是 Linux 中長(zhǎng)期存在的標(biāo)準(zhǔn)顯示協(xié)議。它為圖形顯示管理提供了可靠的框架,并提供了窗口管理和網(wǎng)絡(luò)透明度等功能。盡管年代久遠(yuǎn),X11 仍然受到各種桌面環(huán)境和窗口管理器的廣泛支持。
Wayland 是一個(gè)現(xiàn)代、輕量級(jí)的顯示協(xié)議,注重性能、安全性和簡(jiǎn)化的用戶體驗(yàn)。它提供直接渲染、更流暢的窗口管理并且能夠減少延遲,所以其在 Linux 發(fā)行版中越來越受歡迎。
了解這些知識(shí)對(duì)于理解我們?cè)诮酉聛韺⑹褂玫?Flutter 嵌入器的選擇至關(guān)重要。
在樹莓派上運(yùn)行 Flutter 的選項(xiàng)
當(dāng)在樹莓派上運(yùn)行 Flutter 時(shí),我們有三個(gè)主要選項(xiàng)可供選擇:(當(dāng)然還有其他選項(xiàng),但在此討論中,我們將重點(diǎn)關(guān)注以下三個(gè)。)
1.Flutter Linux 桌面:Flutter 提供對(duì) Linux 桌面環(huán)境的支持,允許你直接在樹莓派上開發(fā)和運(yùn)行 Flutter 應(yīng)用程序。此選項(xiàng)提供了最全面和最通用的 Flutter 體驗(yàn),提供了對(duì) Flutter 全部功能和特性的訪問。
2.由 Ardera 開發(fā)的 Flutter-pi 引擎嵌入器:另一個(gè)選項(xiàng)是 Ardera 開發(fā)的 Flutter-pi 引擎嵌入器。它專門設(shè)計(jì)用于優(yōu)化樹莓派設(shè)備上的 Flutter。
3.由 Sony 開發(fā)的 Flutter-elinux引擎嵌入器:Sony開發(fā)了 Flutter-elinux 引擎嵌入器,旨在實(shí)現(xiàn) Flutter 與嵌入式 Linux 系統(tǒng)的無縫集成。此引擎嵌入器專注于在各種基于 arm64 的選項(xiàng)上運(yùn)行 Flutter,為運(yùn)行 Flutter 應(yīng)用程序提供增強(qiáng)的性能和穩(wěn)定性。
在本文中,我們將主要關(guān)注 Flutter-eLinux,并將其與經(jīng)典的 Flutter 進(jìn)行比較。通過探索這兩種方法之間的相似性和差異性,我們可以更深入地了解它們各自的優(yōu)點(diǎn)和局限性。
值得注意的是,F(xiàn)lutter-pi 主要專注于樹莓派平臺(tái)(如文檔中所述)。由于我們的目標(biāo)是找到一個(gè)既能在樹莓派上運(yùn)行,又能在各種其他 arm64 設(shè)備上運(yùn)行的解決方案,因此我們只會(huì)關(guān)注 Sony 提供的解決方案。然而,我們不能也不想判斷哪個(gè)解決方案更好,我們只想說的是,因?yàn)?Sony 解決方案的方法和出色的文檔,我們選擇了它。
為什么我們需要 Flutter-eLinux?
在我們深入探討使用這兩種方法運(yùn)行 Flutter 的細(xì)節(jié)之前,讓我們先探索一下 Flutter Linux 桌面和 Flutter-elinux 之間的關(guān)鍵區(qū)別。理解這些區(qū)別將有助于我們理解為什么我們不在樹莓派上使用普通的 Flutter。
如本文所述:
最大的區(qū)別是 Flutter-elinux 完全不使用 GTK/GDK。它使用 Wayland、X11 或 DRM 后端。另一方面,Linux 上的 Flutter 桌面嚴(yán)重依賴 GTK/GDK,而 GTK/GDK 又需要 X11。
那么,你可能會(huì)問自己,這對(duì)我們來說為什么重要?
X11 仍然是許多庫(kù)和包(尤其是在桌面環(huán)境中)的依賴項(xiàng),所以很難擺脫它,而同時(shí) Wayland 顯然是未來的發(fā)展方向。
如果我們看看最新的 arm64 硬件,我們會(huì)發(fā)現(xiàn)(幾乎)所有硬件現(xiàn)在都支持 Wayland,而且第一批(來自 NXP 的 iMX8 系列)甚至已經(jīng)不再支持 X11。
與桌面環(huán)境相比,嵌入式解決方案通常使用一個(gè)更精簡(jiǎn)的操作系統(tǒng),這個(gè)操作系統(tǒng)通常是通過 Yocto-Project 等工具單獨(dú)定制的。因此,使用 Wayland 要容易得多,而且其采用速度也要快得多。如果我們希望在工業(yè)應(yīng)用中使用 Flutter,那么我們絕對(duì)應(yīng)該能夠使用 Wayland,而不依賴于 X11。
Linux 桌面與嵌入式 Linux 堆棧
遺憾的是,使用自定義嵌入器會(huì)影響插件兼容性。Flutter-elinux 使用了與 Flutter Linux 桌面不同的引擎嵌入器。這意味著,如果你有一個(gè)專門為 Flutter Linux 桌面設(shè)計(jì)的插件,它可能無法與 Flutter-elinux 兼容。在這種情況下,你可能需要?jiǎng)?chuàng)建一個(gè)與 Flutter-elinux 引擎嵌入器兼容的插件。查看此 Twitter 線程。
性能比較:Flutter 桌面與 Flutter-elinux
為了評(píng)估這兩種選項(xiàng)的性能,我們將使用計(jì)數(shù)器應(yīng)用和咖啡機(jī)應(yīng)用。我們將在 profile 模式下運(yùn)行這些應(yīng)用,并使用開發(fā)工具分析它們的性能。
在樹莓派上的性能
在第一個(gè)場(chǎng)景中,我們將使用帶有默認(rèn) X11 顯示后端的樹莓派 OS。
硬件:樹莓派 4 Model B 8GB
操作系統(tǒng):樹莓派64 位操作系統(tǒng)(Raspbian)
顯示后端:X11(Raspbian 的默認(rèn)顯示后端)。Wayland 目前在樹莓派操作系統(tǒng)上僅以 beta 版本提供。盡管如此,為了比較,我們還是在系統(tǒng)級(jí)顯示服務(wù)器之上運(yùn)行了 Wayland)
重要提示! 在我們的測(cè)試過程中,我們遺憾地丟失了一些運(yùn)行 Flutter-elinux 測(cè)試的圖片。盡管如此,我們?nèi)匀挥薪Y(jié)果,并且會(huì)分享出來。
讓我們看看圖片。
左側(cè):計(jì)數(shù)器應(yīng)用 — Flutter-elinux — Wayland 后端(在 X11 之上?。?44 FPS。
右側(cè):計(jì)數(shù)器應(yīng)用 — Flutter-桌面 — X11 后端 — 59 FPS。
無圖片:計(jì)數(shù)器應(yīng)用 — Flutter-elinux — X11 后端 — 57 FPS。
Flutter-elinux-wayland
Flutter-desktop-x11
現(xiàn)在,讓我們用另一個(gè)項(xiàng)目來測(cè)試這些選項(xiàng)。對(duì)于這個(gè)比較,我們將使用 Moritz 創(chuàng)建的“咖啡機(jī)”項(xiàng)目,該項(xiàng)目涉及更多的復(fù)雜性,包括圖表和動(dòng)畫。
https://github.com/Snapp-X/coffeemachine
讓我們?cè)俅慰纯唇Y(jié)果。這次,我們不僅在已經(jīng)運(yùn)行的 X11 后端之上啟動(dòng)了 Wayland(正如我們所預(yù)期的,這會(huì)導(dǎo)致性能不佳),而且我們還嘗試直接在樹莓派操作系統(tǒng)上運(yùn)行 Wayland 作為系統(tǒng)級(jí)顯示服務(wù)器,這目前以 beta 版本支持(并且真的不建議使用,也不穩(wěn)定)。
左側(cè):咖啡機(jī) — Flutter-elinux — Wayland 后端(在 X11 之上?。?41 FPS。
右側(cè):咖啡機(jī) — Flutter-桌面 — X11 后端 — 59 FPS。
無圖片:咖啡機(jī) — Flutter-elinux — 直接使用 Wayland 后端(beta)— 55 FPS。
無圖片:咖啡機(jī) — Flutter-elinux — X11 后端 — 58 FPS。
Flutter-elinux-wayland
Flutter-desktop-x11
根據(jù) Flutter-elinux 提供的信息,我們可能期望 elinux 的性能更好。然而,結(jié)果表明,在某些設(shè)置下,F(xiàn)lutter Linux 桌面甚至優(yōu)于 Flutter-elinux。那么,問題是為什么?
這是 Flutter-elinux 的問題嗎?我們不這么認(rèn)為。問題很可能在于樹莓派操作系統(tǒng)的默認(rèn)顯示后端,即 X11。當(dāng)在 X11 之上運(yùn)行一個(gè) Wayland 合成器時(shí),它肯定會(huì)嚴(yán)重影響設(shè)備的性能,導(dǎo)致效率降低。
此外,即使在樹莓派 OS 上使用 Wayland 作為系統(tǒng)級(jí)選項(xiàng)也沒有那么理想,盡管我們可以看到顯著的改進(jìn),但這種設(shè)置遠(yuǎn)不穩(wěn)定,并且在系統(tǒng)的其他地方產(chǎn)生了錯(cuò)誤。
顯然,在樹莓派操作系統(tǒng)上最簡(jiǎn)單的選擇是使用 X11 作為系統(tǒng)級(jí)選項(xiàng),并且也將其用于你的 Flutter 開發(fā)。然而,對(duì)于我們的長(zhǎng)期解決方案來說,重要的是也要能夠在 Wayland 下運(yùn)行,這在這里已經(jīng)得到了證明。
出于好奇,我們還測(cè)試了 Ubuntu 下的性能,盡管它是一個(gè)桌面環(huán)境,但它默認(rèn)使用 Wayland 作為顯示后端。
在 Ubuntu 上的性能
在深入細(xì)節(jié)之前,重要的是要注意,對(duì)于像樹莓派這樣的設(shè)備來說,Ubuntu 可能會(huì)占用大量資源。即使是簡(jiǎn)單的任務(wù),如打開瀏覽器或運(yùn)行其他應(yīng)用程序,也可能需要一些時(shí)間,而且默認(rèn)的用戶界面可能會(huì)顯示出明顯的延遲。
我們使用了 Ubuntu 22.04 進(jìn)行測(cè)試,因?yàn)樗J(rèn)使用 Wayland 作為顯示后端。查看此資源。
2017 年,Ubuntu 在 17.10 版本中將其設(shè)為默認(rèn)。然而,這個(gè)實(shí)驗(yàn)并不成功,他們?cè)?Ubuntu 18.04 中又改回了 Xorg。現(xiàn)在,在 21.04 版本中,Wayland 再次成為默認(rèn)。
在這個(gè)特定的測(cè)試中,我們只專注于評(píng)估 Ubuntu 中 Wayland 的性能,而沒有評(píng)估 X11 的性能。
左側(cè):計(jì)數(shù)器應(yīng)用 — Flutter-elinux — Wayland 后端 — 42 FPS。
右側(cè):咖啡機(jī) — Flutter-elinux — Wayland 后端 — 15 FPS。
是的,正如你所看到的,Ubuntu 下的結(jié)果非常糟糕,因?yàn)?Ubuntu 桌面對(duì)于樹莓派等嵌入式設(shè)備來說太重了。
結(jié)論
如果你正在尋找使用 Flutter 創(chuàng)建測(cè)試或原型的方法,那么使用樹莓派設(shè)備和 Flutter 桌面可以提供令人滿意的性能。這種設(shè)置允許你運(yùn)行測(cè)試應(yīng)用程序并驗(yàn)證其功能。
然而,當(dāng)你正在創(chuàng)建一個(gè)真正的產(chǎn)品時(shí),你的應(yīng)用程序是主要且唯一運(yùn)行的應(yīng)用程序,那么建議考慮創(chuàng)建一個(gè)專門針對(duì)你的硬件和應(yīng)用程序需求定制的自定義 Linux 發(fā)行版。
在這種情況下,使用 Wayland 后端的 Flutter-elinux 是一個(gè)極好的選擇。這種設(shè)置確保你的應(yīng)用程序獲得必要的資源,并優(yōu)化性能,從而提供流暢且可靠的用戶體驗(yàn)。
在樹莓派操作系統(tǒng)上安裝 Flutter
雖然建議遵循官方文檔在 Linux 上安裝 Flutter,但我們將在此文中提供安裝 Flutter 的最簡(jiǎn)單方法的概述。請(qǐng)注意,安裝過程可能會(huì)隨著時(shí)間的推移而演變,因此參考官方文檔可以確保你獲得最新的說明。
在 Linux 上安裝 Flutter 的最簡(jiǎn)單方法是使用 snapd。在繼續(xù)之前,請(qǐng)確保你的機(jī)器上已安裝 snapd。如果尚未安裝,你可以
一旦安裝了 snapd,你可以通過使用 Snap Store 或命令行來安裝 Flutter。
打開終端并輸入以下命令:
sudo snap install flutter--classic
你可以使用以下命令找到你的 Flutter 路徑:
fluttersdk-path
在樹莓派操作系統(tǒng)上安裝 Flutter-eLinux
在使用 Flutter-elinux 在你的機(jī)器上安裝 Flutter 之前,你需要確保已安裝幾個(gè)依賴庫(kù)。
這些庫(kù)包括 curl、unzip、git、clang、cmake(版本 3.15 或更高)和 pkg-config。你可以通過在終端中運(yùn)行以下命令來安裝這些庫(kù):
sudoapt install curl unzip git clang cmake pkg-config
一旦安裝了依賴庫(kù),你就可以繼續(xù)安裝 Flutter-elinux。首先克隆 Flutter-elinux 倉(cāng)庫(kù)并將其移動(dòng)到 /opt/ 目錄:
$gitclonehttps://github.com/sony/flutter-elinux.git$sudomvflutter-elinux /opt/
接下來,更新你的系統(tǒng)路徑以包含 Flutter-elinux 二進(jìn)制文件:
$exportPATH=$PATH:/opt/flutter-elinux/bin
為了確保安裝成功且一切正常工作,運(yùn)行以下命令以檢查 Flutter-elinux 環(huán)境:
$flutter-elinux doctor
運(yùn)行 flutter-elinux devices 命令將顯示已連接的設(shè)備。你應(yīng)該看到兩個(gè)已連接的設(shè)備,一個(gè)使用 elinux-x11 后端,另一個(gè)使用 elinux-wayland 后端。
$flutter-elinux devices2 connected devices:
eLinux (desktop) ? elinux-wayland ? flutter-tester ? Ubuntu 20.04.2 LTS 5.8.0-63-genericeLinux (desktop) ? elinux-x11 ? flutter-tester ? Ubuntu 20.04.2 LTS 5.8.0-63-generic
在 X11 上運(yùn)行
如果你打算使用 x11 后端,你將需要安裝 libx11-dev 庫(kù),通過運(yùn)行以下命令:
$sudo apt install libx11-dev
然后你可以像這樣運(yùn)行應(yīng)用程序:
$flutter-elinux run -d elinux-x11
在 Wayland 上運(yùn)行
對(duì)于 Wayland 后端,你將需要安裝 libwayland-dev 和 wayland-protocols 庫(kù):
$sudo apt install libwayland-dev wayland-protocols
如果你計(jì)劃在系統(tǒng)級(jí) X11 之上運(yùn)行 Wayland(我們目前推薦這樣做),你必須安裝一個(gè) Wayland 合成器。最常用的是 Weston,可以通過以下命令安裝:
$sudo apt install weston
因此,在以 wayland 模式運(yùn)行你的 Flutter 應(yīng)用程序之前,你可以輕松地通過運(yùn)行以下命令啟動(dòng) Weston:
$weston &
然后運(yùn)行:
$flutter-elinux run -d elinux-wayland
IDE 和開發(fā)
我們推薦使用 VS Code 作為你的 IDE,因?yàn)樗p量級(jí)且即使在樹莓派上也能運(yùn)行得很好。
樹莓派操作系統(tǒng)
要在樹莓派上安裝 VS Code,你可以簡(jiǎn)單地在終端中運(yùn)行以下命令:
sudo apt updatesudo apt installcode
在此鏈接中找到更多信息。
Ubuntu
如本文檔所述,
在基于 Debian/Ubuntu 的發(fā)行版上安裝 Visual Studio Code 的最簡(jiǎn)單方法是下載并安裝 .deb 包(64 位),可以通過圖形軟件中心(如果可用)或通過命令行安裝:
sudo apt install ./
-
嵌入式設(shè)備
+關(guān)注
關(guān)注
0文章
116瀏覽量
17427 -
Raspberry Pi
+關(guān)注
關(guān)注
2文章
620瀏覽量
23154 -
樹莓派
+關(guān)注
關(guān)注
121文章
2016瀏覽量
107511
發(fā)布評(píng)論請(qǐng)先 登錄
評(píng)論