設定 Android 版 Flutter 風味
本指南將向您展示如何為 Android 應用建立 Flutter 風味。
概述
#Flutter 風味(在與 Android 結合使用時)是各種平臺特定功能的統一術語。例如,風味可以決定特定應用版本所關聯的圖示、應用名稱、API 金鑰、功能標誌和日誌記錄級別。
如果您想為 Android 應用建立 Flutter 風味,可以在 Flutter 中進行。在 Android 中,Flutter 風味被稱為 產品風味。
以下示例說明了當 Android 應用具有兩個產品風味(staging、production)和兩種構建型別(debug、release)時建立的 Android 構建變體:
| 產品風味 | 構建型別 | 生成的構建變體 |
|---|---|---|
| staging | debug | stagingDebug stagingRelease |
| production | release | productionDebug productionRelease |
配置您的產品風味
#請完成以下步驟,為名為 flavors_example 的新 Flutter 專案新增兩個名為 staging 和 production 的 Android 產品風味,然後測試您的專案以確保風味按預期工作。
建立一個名為
flavors_example的新 Flutter 專案,並將 Kotlin 作為首選 Android 語言。預設情況下,專案包含debug和releaseAndroid 構建型別。控制檯flutter create --android-language kotlin flavors_example為
flavors_example專案新增名為staging和production的產品風味。在
flavors_example專案中,導航到android/app/目錄並開啟build.gradle.kts。在
android {} block中新增flavorsDimension屬性和productFlavors屬性。確保android {}塊還包含預設的debug和release構建型別。build.gradle.ktskotlinandroid { ... buildTypes { getByName("debug") {...} getByName("release") {...} } ... flavorDimensions += "default" productFlavors { create("staging") { dimension = "default" applicationIdSuffix = ".staging" } create("production") { dimension = "default" applicationIdSuffix = ".production" } } }
為了確保您已正確設定一切,請在 Android 產品風味上執行您的應用。您不會看到任何差異,因為配置設定尚未更改,但您確實需要確保應用可以執行。
啟動 Android 模擬器或連線已啟用開發者選項的物理裝置。
在控制檯中,導航到
flavors_example目錄並輸入以下命令來測試staging風味:控制檯flutter run --flavor staging為
production風味重複上一步。
如果一切正常執行,您就可以自定義配置了。有關更多資訊,請參閱 自定義配置。
啟動風味
#在為 Android 應用新增產品風味後,您可以透過 Flutter 啟動特定的產品風味。
您可以使用 Flutter CLI 透過以下步驟啟動產品風味:
啟動 Android 模擬器或連線已啟用開發者選項的物理裝置。
在控制檯中,導航到
flavors_example目錄並輸入以下命令:控制檯flutter (run | build) --flavor <flavor_name>(run | build):用以下選項之一替換:run:以除錯模式執行應用。build:以生產模式執行應用。
<flavor_name>:替換為您 Android 產品風味的名稱(例如,staging或production)。
示例
控制檯flutter run --flavor staging
自定義配置
#新增產品風味後,您可以為 Android 應用自定義它們。
建立不同的應用顯示名稱
#如果您有多個產品風味,不同的應用名稱可以幫助您快速識別正在使用的已部署應用的風味。

以下步驟展示瞭如何在名為 flavors_example 的專案中為兩個名為 staging 和 production 的產品風味新增不同的應用顯示名稱。
在 IDE 中更新
build.gradle.kts在
flavors_example專案中,導航到android/app/目錄並開啟build.gradle.kts。在
flavorsDimension塊中,為staging和production風味新增一個名為app_name的resValue()屬性。build.gradle.ktskotlinandroid { ... flavorDimensions += "default" productFlavors { create("staging") { dimension = "default" resValue( type = "string", name = "app_name", value = "Flavors staging") applicationIdSuffix = ".staging" } create("production") { dimension = "default" resValue( type = "string", name = "app_name", value = "Flavors production") applicationIdSuffix = ".production" } }
在 IDE 中更新
AndroidManifest.xml在
flavors_example專案中,導航到android/app/src/main並開啟AndroidManifest.xml。將
android:label的值替換為@string/app_name。AndroidManifest.xmlxml<manifest xmlns:android="http://schemas.android.com/apk/res/android"> <application android:label="@string/app_name" ... /> />
為每個產品風味(
staging、production)啟動應用,並檢查以確保每個應用的顯示名稱都已更改。要啟動產品風味,請參閱 啟動風味 中的步驟。
在 Android 應用模擬器中,轉到應用列表。您應該會看到一個名為
Flavors p...的應用和一個名為Flavors s...的應用。要檢視
Flavors p...或Flavors s...的更多資訊,請長按其中一個圖示,然後選擇應用資訊。
建立不同的圖示
#如果您有多個產品風味,為每種配置使用不同的圖示可以幫助您快速識別正在使用的已部署應用的風味。
![]()
以下步驟展示瞭如何在名為 flavors_example 的專案中為兩個名為 staging 和 production 的產品風味新增不同的圖示。
準備您的圖示
在您選擇的設計工具中設計您的
staging圖示和production圖示。以 PNG 格式生成以下尺寸的
staging圖示和production圖示版本:- mipmap-mdpi (48x48 畫素)
- mipmap-hdpi (72x72 畫素)
- mipmap-xhdpi (96x96 畫素)
- mipmap-xxhdpi (144x144 畫素)
- mipmap-xxxhdpi (192x192 畫素)
建立特定於風味的程式碼資源目錄
導航到
android/app/src目錄。建立一個名為
staging/res的目錄。導航到
staging/res目錄。建立以下
mipmap目錄並將staging圖示版本移入其中:mipmap-mdpi/48x48_staging.pngmipmap-hdpi/72x72_staging.pngmipmap-xhdpi/96x96_staging.pngmipmap-xxhdpi/144x144_staging.pngmipmap-xxxhdpi/192x192_staging.png
為
production風味目錄和圖示重複上述步驟。將所有圖示重新命名為
ic_launcher.png。
在 IDE 中仔細檢查
AndroidManifest.xml中的配置。在
flavors_example專案中,導航到android/app/src/main並開啟AndroidManifest.xml。確保
android:icon的值是@mipmap/ic_launcher。
為每個產品風味(
staging、production)啟動應用,並檢查以確保每個應用圖示都已更改。要啟動產品風味,請參閱 啟動風味 中的步驟。
打包資源
#如果您的應用中有僅在特定風味中使用的資源,您可以將其配置為僅在該風味啟動時打包到您的應用中。這可以防止您的應用包因未使用的資源而膨脹。要為每個風味打包資源,請在專案的 pubspec 檔案中將 assets 欄位的 flavors 子欄位新增到 assets 欄位。有關更多資訊,請參閱 Flutter pubspec 選項 中 assets 欄位。
設定預設風味
#您可以讓您的應用在啟動應用時不指定風味,而是使用特定的風味。為此,您需要在專案的 pubspec 檔案中新增 default-flavor 欄位。有關更多資訊,請參閱 Flutter pubspec 選項 中 default-flavor 欄位。
新增獨特的構建設定
#如果您有要為特定 Android 產品風味配置的附加構建設定,請參閱 Android 的 配置構建變體。
更多資訊
#有關建立和使用風味的更多資訊,請檢視以下資源: