我有一个Flutter应用程序的开发和生产版本。
问题是标签和启动器对于开发和生产应用程序都是相同的,因此无法看到差异。(实际上不能同时将它们安装在设备上)
有没有简单的方法根据不同版本更改Flutter应用程序的名称?
我知道可以通过修改AndroidManifest.xml和Xcode info.plist来更改应用程序标签和启动器。但这并不简单:必须创建额外的文件以供xml和plist文件引用。这样的修改与Flutter的目标背道而驰。
有人知道解决方案吗?
谢谢!
我有一个Flutter应用程序的开发和生产版本。
问题是标签和启动器对于开发和生产应用程序都是相同的,因此无法看到差异。(实际上不能同时将它们安装在设备上)
有没有简单的方法根据不同版本更改Flutter应用程序的名称?
我知道可以通过修改AndroidManifest.xml和Xcode info.plist来更改应用程序标签和启动器。但这并不简单:必须创建额外的文件以供xml和plist文件引用。这样的修改与Flutter的目标背道而驰。
有人知道解决方案吗?
谢谢!
在 Android 项目中,只需将以下内容添加到应用 gradle 文件:
flavorDimensions "default"
productFlavors {
dev {
resValue "string", "app_name", "AppName_DEV"
}
demo {
resValue "string", "app_name", "AppName_Demo"
}
prod {
resValue "string", "app_name", "AppName"
}
}
接着在你的AndroidManifest中使用以下代码:
android:label="@string/app_name"
它将生成未解决的app_name,完成!
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">App 1</string>
</resources>
这将创建一个名为app_name
的字符串,可用于Android清单文件。
要使用该字符串,请按照以下方式更改AndroidManifest.xml文件中应用标签中的android:label:
<application
android:name="io.flutter.app.FlutterApplication"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher">
strings.xml
。在其中设置该值为“Default Flavor Res”,以便提醒您该风格没有字符串资源文件。
参考:
http://cogitas.net/creating-flavors-of-a-flutter-app/
Android 已经被多个回答所涵盖。在 iOS 上,您可以通过设置多个构建配置和方案,创建一个用户定义的设置(例如 APP_DISPLAY_NAME),为每个构建配置设置该值,然后在 Info.plist 中将 Bundle 显示名称设置为 $ {APP_DISPLAY_NAME},从而实现相同的效果。
https://medium.com/swift2go/different-app-display-name-based-on-xcode-scheme-d709307d0c01
在pubspec.yaml中添加 flutter_flavor: dimensions: android: "flutter-flavor" ios: "flutter-flavor"
flavors: apple: android: name: "苹果应用" applicationId: "com.example.apple" googleAdsId: "ca-app-pub-1234567890123456~1234567890" ios: name: "苹果应用" bundleId: "com.example.apple" googleAdsId: "ca-app-pub-1234567890123456~1234567890"
bannana:
app:
name: "Bannana App"
id: "com.example.bannana"
android:
googleAdsId: "ca-app-pub-1234567890123456~1234567890"
ios:
googleAdsId: "ca-app-pub-1234567890123456~1234567890"
#] 生成不同的风味
flutter pub run flutter_flavor:main