是否有任何方法可以根據所選的構建模式(開發或生產)更改應用程式的名稱和/或應用程式的圖示?
release mode -> Logo A & <app_name>
debug mode -> Logo B & <app_name>-dev
我一直在尋找但找不到任何東西——或者沒有在正確的地方搜索。任何人都可以幫忙嗎?
uj5u.com熱心網友回復:
如果您正在嘗試構建 Android 應用程式,您應該遵循幾個步驟
請注意,如果您想將兩個應用程式保留在一個設備中,您應該更改應用程式的包名稱,這可以通過在應用程式級別內添加后綴輕松完成build.gradle projectName/android/app/build.gradle除錯模式的構建型別的后綴像這樣:
buildTypes {
release {
signingConfig signingConfigs.release
}
debug {
applicationIdSuffix ".debug"
}
}
對于應用程式的名稱:
在您的專案檔案夾中有一個名為 的檔案夾
android/app/src,在其中,您會發現另外三個檔案夾
進入這個
debug目錄并添加一個名為 的檔案夾res,在那里您將能夠存盤將在開發(除錯)模式下使用的資源,并在其中創建一個名為values創建一個名為 的檔案
strings.xml,在此檔案夾中,您可以存盤您的動態應用程式的名稱在這里,您將定義您的應用程式的名稱,在其中復制以下代碼:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">app_name-DEV</string>
</resources>
- 此外,您還必須將檔案添加到
string.xml主檔案夾(除錯檔案夾下方)的相同路徑中的相同路徑main/res/values中,您應該為密鑰應用不同的名稱,app_name如下所示:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">app_name-DEV</string>
</resources>
- 在主檔案夾中,有一個名為: 的檔案
AndroidManifest.xml,其中洗掉該行android:name="${applicationName}",因為它會導致很少的沖突并更改該行:android:label:"some_label"->android:label="@string/app_name" - 從此檔案中,復制整個標簽,并將其粘貼到除錯檔案夾
AndroidManifest.xml中,并在行android:label="@string/app_name"添加此行之前tools:replace="android:label",這將使除錯的清單覆寫應用程式的名稱。
->projectFolder/android/app/src/debug/AndroidManifest.xml

對于應用程式的圖示:
- 在
projectFolder/android/app/src/debug/res你應該創建 mipmap 檔案夾(你可以從projectFolder/android/app/src/main/res檔案夾中復制它們然后修改圖示)
- 在其中,您應該添加一個相同的開發模式圖示,為此,您可以按照以下包flutter_launcher_icon(請確保最后您將運行此命令:
flutter pub run flutter_launcher_icons:main,但您仍然可以手動添加它們)
就這樣。希望我足夠徹底:) 如果您有任何問題,請告訴我
uj5u.com熱心網友回復:
最終,我使用了一種適用于 Android 和 iOS 的 Flutter 功能,稱為風味。
這是我遵循的指南:https ://youtu.be/Vhm1Cv2uPko
對于使用 VS Code 的開發人員,我創建了一個 VS Code 組態檔,以便更輕松地啟動不同風格的應用程式:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch Development",
"request": "launch",
"type": "dart",
"program": "lib/main_dev.dart",
"args" : ["--flavor", "development", "--target", "lib/main_dev.dart"],
// ? Keep flutterMode
"flutterMode": "debug",
},
{
"name": "Launch Production",
"request": "launch",
"type": "dart",
"program": "lib/main_prod.dart",
"args": ["--flavor", "production", "--target", "lib/main_prod.dart"],
// ? Keep flutterMode
"flutterMode": "release",
},
{
"name": "Run All Tests",
"type": "dart",
"request": "launch",
"program": "./test/",
},
]
}
該主題在鏈接的視頻中進行了處理。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/452228.html
上一篇:如何處理此斷言除錯失敗
