建置並發佈 Windows 桌面應用程式
發佈 Windows 應用程式的一個便利方式是透過 Microsoft Store。本指南提供了逐步說明,介紹如何以這種方式封裝和部署 Flutter 應用程式。
準備事項
#在開始將 Flutter Windows 桌面應用程式發佈到 Microsoft Store 的流程之前,請先確認它符合 Microsoft Store 政策。
此外,您必須加入 Microsoft 合作夥伴網路才能提交應用程式。
在合作夥伴中心設定您的應用程式
#在 Microsoft 合作夥伴中心管理應用程式的生命週期。
首先,保留應用程式名稱並確保您擁有該名稱的必要權利。一旦保留名稱,應用程式將會為服務 (例如推播通知) 進行佈建,然後您就可以開始新增附加元件。
價格、可用性、年齡分級和類別等選項必須與首次提交一起配置,並會在後續提交中自動保留。
封裝與部署
#為了將應用程式發佈到 Microsoft Store,您必須先將其封裝。有效的格式為 .msix、.msixbundle、.msixupload、.appx、.appxbundle、.appxupload 和 .xap。
在 Microsoft Store 中手動封裝與部署
#請查看 MSIX 封裝以了解如何封裝 Flutter Windows 桌面應用程式。
請注意,每個產品都有一個唯一的識別碼,由 Store 分配。
如果套件是手動建置的,您必須在封裝期間手動包含其識別碼詳細資訊。可以使用以下說明從合作夥伴中心擷取基本資訊
- 在合作夥伴中心,瀏覽至該應用程式。
- 選擇 產品管理。
- 按一下 產品識別碼,以擷取套件識別名稱、發行者和發行者顯示名稱。
在手動封裝應用程式後,手動將其提交到 Microsoft 合作夥伴中心。您可以透過建立新的提交,瀏覽至 套件,並上傳建立的應用程式套件來執行此操作。
持續部署
#除了手動建立和部署套件之外,您還可以使用 CI/CD 工具自動化建置、封裝、版本控制和部署流程,前提是您已將應用程式首次提交至 Microsoft Store。
Codemagic CI/CD
#Codemagic CI/CD 使用 msix
pub 套件 來封裝 Flutter Windows 桌面應用程式。
對於 Flutter 應用程式,請使用 Codemagic 工作流程編輯器或 codemagic.yaml 來封裝應用程式並將其部署到 Microsoft 合作夥伴中心。可以使用此套件配置其他選項(例如套件中包含的功能清單和語言資源)。
為了發佈,Codemagic 使用 合作夥伴中心提交 API;因此,Codemagic 需要 將 Azure Active Directory 和合作夥伴中心帳戶建立關聯。
GitHub Actions CI/CD
#GitHub Actions 可以使用 Microsoft Dev Store CLI 將應用程式封裝到 MSIX 中,並將其發佈到 Microsoft Store。setup-msstore-cli GitHub Action 會安裝 cli,以便該 Action 可以使用它進行封裝和發佈。
由於封裝 MSIX 使用 msix
pub 套件,因此專案的 pubspec.yaml
必須包含適當的 msix_config
節點。
您必須從開發人員中心建立具有 全域管理員權限的 Azure AD 目錄。
GitHub Action 需要來自合作夥伴中心的環境密碼。按照 Windows Store 發佈 Action 的說明,AZURE_AD_TENANT_ID
、AZURE_AD_ClIENT_ID
和 AZURE_AD_CLIENT_SECRET
在開發人員中心中可見。您也需要 SELLER_ID
密碼,該密碼可以在開發人員中心中的 帳戶設定 > 組織設定檔 > 法律資訊 下找到。
該應用程式必須已存在於 Microsoft 開發人員中心,至少完成一次提交,而且必須在執行 Action 之前,在存放庫中執行一次 msstore init
。完成後,在 GitHub Action 中執行 msstore package .
和 msstore publish
會將應用程式封裝到 MSIX 中,並將其上傳到開發人員中心的新提交中。
MSIX 發佈的必要步驟如下
- uses: microsoft/setup-msstore-cli@v1
- name: Configure the Microsoft Store CLI
run: msstore reconfigure --tenantId $ --clientId $ --clientSecret $ --sellerId $
- name: Install Dart dependencies
run: flutter pub get
- name: Create MSIX package
run: msstore package .
- name: Publish MSIX to the Microsoft Store
run: msstore publish -v
更新應用程式的版本號
#對於發佈到 Microsoft Store 的應用程式,必須在封裝過程中設定版本號。
應用程式的預設版本號為 1.0.0.0
。
對於未發佈到 Microsoft Store 的應用程式,您可以設定應用程式可執行檔的檔案和產品版本。可執行檔的預設檔案版本為 1.0.0.1
,其預設產品版本為 1.0.0+1
。若要更新這些版本,請瀏覽至 pubspec.yaml
檔案並更新下列行
version: 1.0.0+1
建置名稱是三個以點分隔的數字,後接一個可選的建置編號,該編號以 +
分隔。在上面的範例中,建置名稱是 1.0.0
,而建置編號是 1
。
建置名稱會成為檔案和產品版本的前三個數字,而建置編號會成為檔案和產品版本的第四個數字。
建置名稱和編號都可以在 flutter build windows
中透過分別指定 --build-name
和 --build-number
來覆寫。
新增應用程式圖示
#若要在封裝之前更新 Flutter Windows 桌面應用程式的圖示,請使用以下說明
- 在 Flutter 專案中,瀏覽至 windows\runner\resources。
- 將 app_icon.ico 替換為所需的圖示。
- 如果圖示的名稱不是 app_icon.ico,請繼續變更 windows\runner\Runner.rc 檔案中的 IDI_APP_ICON 值,以指向新的路徑。
當使用 msix
pub 套件 進行封裝時,也可以在 pubspec.yaml
檔案中設定標誌路徑。
若要更新商店清單中的應用程式映像,請瀏覽至提交的商店清單步驟,並選取商店標誌。從那裡,您可以上傳大小為 300 x 300 像素的標誌。
所有上傳的映像都會保留以用於後續提交。
驗證應用程式套件
#在發佈到 Microsoft Store 之前,請先在本地驗證應用程式套件。
Windows 應用程式認證套件是 Windows 軟體開發套件 (SDK) 中包含的工具。
若要驗證應用程式
- 啟動 Windows 應用程式認證套件。
- 選取 Flutter Windows 桌面套件 (.msix、.msixbundle 等)。
- 選擇測試報告的目的地。
即使認證通過,該報告也可能包含重要的警告和資訊。
除非另有說明,本網站上的文件反映了 Flutter 的最新穩定版本。頁面上次更新時間為 2024-04-04。 檢視原始碼 或 回報問題。