電腦系統(tǒng)無法遠(yuǎn)程
qq應(yīng)該是很多人接觸的第一個遠(yuǎn)程工具,qq支持我們請求遠(yuǎn)程控制好友的電腦,從而幫助好友或者人好友幫助我們解決電腦問題。那么當(dāng)電腦問題解決完之后qq遠(yuǎn)程權(quán)限控制怎么解除呢?遇到qq遠(yuǎn)程權(quán)限原因無法操作怎...
2025.07.03COPYRIGHT ? 2023
粵ICP備2021108052號
郵箱:611661226@qq.com
留言給我作者:騰訊 - 小德(koudleren 任曉帥)
前言
前面講了Flutter持續(xù)化集成上的演進(jìn)之路,F(xiàn)lutter的工程為Flutter Model的工程,其中一個很重要的點就是如何在服務(wù)器上打包,這個涉及到命令行打包,接下來看如何做。
Android打包
Android的命令行打包比較簡單,直接用gradle命令,在工程的目錄下運行如下的命令:
$./gradlew assembleDebug復(fù)制代碼
$./gradlew assembleRelease復(fù)制代碼
生成的aar包就在.android/Flutter/build/outputs/aar/目錄下
iOS打包
iOS打包比較復(fù)雜一些,需要用到一個打包的腳本,這個腳本在Flutter SDK里,路徑為packages/flutter_tools/bin,有一個叫xcode_backend.sh的腳本,首先分析這個腳本:
if [[ $# == 0 ]]; then # Backwards-compatibility: if no args are provided, build. BuildAppelse case $1 in "build") BuildApp ;; "thin") ThinAppFrameworks ;; "embed") EmbedFlutterFrameworks ;; esacfi復(fù)制代碼
可以看到這個腳本有三個功能,分別是:
把這個腳本拷貝到工程的目錄,運行
$/bin/sh xcode_backend.sh build復(fù)制代碼
然后你會發(fā)現(xiàn)有報錯,如下:
ERROR: Unknown FLUTTER_BUILD_MODE: .Valid values are 'Debug', 'Profile', or 'Release' (case insensitive).This is controlled by the FLUTTER_BUILD_MODE environment varaible.If that is not set, the CONFIGURATION environment variable is used.復(fù)制代碼
這是因為少了一些環(huán)境變量,要把這些變量加上:
export FLUTTER_BUILD_MODE="" //有三個值:Debug Profile Releaseexport FLUTTER_ROOT="" //Flutter SDK的目錄export FLUTTER_APPLICATION_PATH="" //工程目錄export SOURCE_ROOT="${FLUTTER_APPLICATION_PATH}/.ios/Flutter" //Flutter iOS代碼的目錄export FLUTTER_TARGET="lib/main.dart" //dart代碼export FLUTTER_BUILD_DIR="build" //build生成的路徑export ARCHS="armv7 arm64" //Flutter打包的Framework要支持的平臺復(fù)制代碼
$/bin/sh xcode_backend.sh thin復(fù)制代碼
同樣也要加上環(huán)境變量:
export SOURCE_ROOT=".../.ios/Flutter" //Flutter iOS代碼的目錄export ARCHS="armv7 arm64" //Flutter打包的Framework要支持的平臺export TARGET_BUILD_DIR="${SOURCE_ROOT}" //build生成的路徑export app_path="${TARGET_BUILD_DIR}/Flutter" //Flutter打包的Framework所在的路徑export frameworks_dir="${app_path}" //Flutter打包的Framework所在的路徑復(fù)制代碼
綜上,要加的環(huán)境變量如下:
export FLUTTER_BUILD_MODE="" //有三個值:Debug Profile Releaseexport FLUTTER_ROOT="" //Flutter SDK的目錄export FLUTTER_APPLICATION_PATH="" //工程目錄export SOURCE_ROOT="${FLUTTER_APPLICATION_PATH}/.ios/Flutter" //Flutter iOS代碼的目錄export FLUTTER_TARGET="lib/main.dart" //dart代碼export FLUTTER_BUILD_DIR="build" //build生成的路徑export ARCHS="armv7 arm64" //Flutter打包的Framework要支持的平臺export TARGET_BUILD_DIR="${SOURCE_ROOT}" //build生成的路徑export app_path="${TARGET_BUILD_DIR}/Flutter" //Flutter打包的Framework所在的路徑export frameworks_dir="${app_path}" //Flutter打包的Framework所在的路徑復(fù)制代碼
運行的命令如下:
$/bin/sh xcode_backend.sh build$/bin/sh xcode_backend.sh thin復(fù)制代碼
生成產(chǎn)物在.../.iOS/Flutter中查看,如果想修改生成產(chǎn)物的路徑,修改腳本里derived_dir的值,如下:
local derived_dir="${SOURCE_ROOT}/Flutter/Flutter" if [[ -e "${project_path}/.ios" ]]; then derived_dir="${project_path}/.ios/Flutter/Flutter" fi復(fù)制代碼
qq應(yīng)該是很多人接觸的第一個遠(yuǎn)程工具,qq支持我們請求遠(yuǎn)程控制好友的電腦,從而幫助好友或者人好友幫助我們解決電腦問題。那么當(dāng)電腦問題解決完之后qq遠(yuǎn)程權(quán)限控制怎么解除呢?遇到qq遠(yuǎn)程權(quán)限原因無法操作怎...
2025.07.03git是一個怎么樣的工具?是一個版本管理工具,熟悉SVN的應(yīng)該都知道,SVN工具是一個局域網(wǎng)的文件、代碼管理工具,而git的功能更加強(qiáng)大,資源存儲在互聯(lián)網(wǎng)上,任何地方任何地點都可以去訪問,單單這一點就...
2025.07.03桌面圖標(biāo)無法打開如何修復(fù)?不能打開桌面圖標(biāo)有很多中可能,從物理角度看,可能是鼠標(biāo)雙擊不行了,從系統(tǒng)角度上看,或許是桌面上的快捷方式起始位置找不到該文件,當(dāng)然,更多的是組件缺失,我們可以看看下文中是怎么...
2025.07.03/1 前言/ 嘿,各位小伙伴,晚上好呀,我相信各位小伙伴都是python的愛好者。也許我們不一定是專業(yè)的程序員,但是我們?nèi)匀豢梢酝ㄟ^代碼提高我們的效率,盡量少加班,多陪陪媳婦。再不行,讓代碼替我們干著...
2025.07.03再說怎么通過 快捷指令 記錄時間日志 之前,我們先說一下什么是 時間日志。什么是時間日志?第一次接觸到 “時間日志” 這個概念是在 李笑來 的《把時間當(dāng)做朋友》這本書里面。里面說到一種叫“感知時間”的...
2025.07.03