Flutter go-flutter desktop 填坑

用dart轉(zhuǎn)換C#版本的JsonToDart,最后打包的時(shí)候,發(fā)現(xiàn)官方?jīng)]有打包方式,而且還不支持快捷鍵,所以最后選擇使用go-flutter來打包(雖然打出來也是debug版本,但好歹有生成物)

網(wǎng)上有很多大佬都有了第一步的嘗試go-flutter攻略(進(jìn)坑姿勢(shì)),比如Go Flutter Desktop (一) 初探以及
GO Flutter Desktop Mac版小白體驗(yàn),按照大佬的指示,我最終也成功地打出了mac的產(chǎn)物。

本應(yīng)該很滿足的,但是我是一個(gè)軟粉,網(wǎng)上居然沒有go-flutter關(guān)于windows的環(huán)境配置的文章(全是mac的),所以周末抽空在家里,嘗試了一下,遇到一些問題,最終也成功打出包
windows-x64-go-flutter.zip

下面跟著我按照流程走一遍。

go安裝和環(huán)境配置

go這是go的源碼,如果你選擇從源碼構(gòu)建,請(qǐng)參考 從源碼進(jìn)行安裝

我們這里選擇直接裝下載安裝包

我選擇的這個(gè),可以根據(jù)自己的環(huán)境下載


image

下載好之后,我在D盤新建一個(gè)目錄,go/source作為go的安裝目錄
go/project作為go的工作目錄

image

接下來我們需要去配置環(huán)境變量,從小娜這里輸入,快速進(jìn)去環(huán)境變量設(shè)置,windows7的小伙伴自行百度。

image

新增一個(gè)環(huán)境變量GOROOT 和GOPAHT

image
image

然后在環(huán)境變量PATH新增 %GOROOT%\bin, 我記得windows7下面好像寫%GOROOT%\bin; 多一個(gè);

image

記得重啟電腦,這樣環(huán)境才會(huì)生效。cmd或者powershell里面輸入go,不報(bào)錯(cuò),說明我們的go環(huán)境就安裝配置好了

image

hover安裝和環(huán)境配置

hover is a simple build tool to create Flutter desktop applications. 就是說專門來拿創(chuàng)建flutter desktop應(yīng)用的.

cmd或者powershell 執(zhí)行

go get -u github.com/go-flutter-desktop/hover

稍等一會(huì)工具h(yuǎn)over就會(huì)被下載到GOPATH制定的路徑下面了

image

hover init

接下來,我們到你的flutter項(xiàng)目的目錄下面

image

This is usualy the path for your project on github or a self-hosted git service. If you are unsure, just make something up, it can always be changed later.
這個(gè)路徑是你的flutter項(xiàng)目github路徑,如果你不確定,也沒關(guān)系,后面能修改,我這里路徑 為github.com/fluttercandies/JsonToDart

執(zhí)行 hover init github.com/fluttercandies/JsonToDart

image

完成之后就會(huì)在目錄下面生成desktop目錄。
desktop/assets/logo.png 這個(gè)是啟動(dòng)的圖標(biāo),你可以更換
desktop/cmd/options.go 你可以在這里添加插件或者做一些設(shè)置
比如

flutter.WindowInitialDimensions(1920, 1080),

flutter.ForcePixelRatio(2), // retina set to 2

main_desktop.dart

你需要?jiǎng)?chuàng)建main_desktop.dart作為go-flutter編譯應(yīng)用的入口
你可以直接調(diào)用你原來flutter項(xiàng)目的main.dart

import 'main.dart' as m;

void main() {
  m.main();
}

hover run

你可以通過該命令啟動(dòng)desktop程序

hover build

執(zhí)行 hover build github.com/fluttercandies/JsonToDart

第一次會(huì)去下載各種東西,運(yùn)行指令的時(shí)候報(bào)了一個(gè)錯(cuò)誤

image

在網(wǎng)上查看了一下,需要下載MinGW

MinGW

MingW 分 32位64位版本

下載對(duì)應(yīng)的版本之后安裝,注意選擇,我是x64

image

記住安裝的地址,比如我的是

image

按照完畢之后,我們需要去配置下環(huán)境變量,在PATH變量中添加剛才安裝路徑的bin

image

記得重啟電腦,這樣環(huán)境才會(huì)生效。

再次執(zhí)行 hover build github.com/fluttercandies/JsonToDart

如果是第一次,會(huì)下載一堆東西,執(zhí)行好之后如圖


image

最后在目錄desktop下面,就能找到產(chǎn)物了,你可以把a(bǔ)ssets里面的圖標(biāo)換成自己的

windows下面執(zhí)行hover build 生成的exe


image

mac下面執(zhí)行hover build 生成的是exec

image

如何打包go的產(chǎn)物,請(qǐng)自行查看

坑大概講完了,最后邀請(qǐng),有心為Flutter生態(tài)做貢獻(xiàn)的小伙伴加入Flutter Candies,一起開心地寫bug,生產(chǎn)可愛的Flutter 小糖果(QQ群:181398081)

image

最最后放上Flutter Candies全家桶,真香。

image
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容