Flu*_*ase 5 xcode android ios android-productflavors flutter
我有 Flutter 应用程序的开发和生产风格。
问题是开发和生产应用程序的标签和启动器是相同的,所以看不出区别。(实际上不能同时安装在设备上)
根据风味更改 Flutter 应用程序名称的简单方法是什么?
我知道可以通过修改 AndroidManifest.xml 和 Xcode info.plist 来更改应用程序标签和启动器。但这并不简单:必须在xml和plist文件中制作额外的文件以供参考。像这样修改有悖于 Flutter 的目的。
有人知道解决方案吗?
谢谢!
Vah*_*iri 15
只需在 android 项目app gradle 中有这个:
flavorDimensions "default"
productFlavors {
dev {
resValue "string", "app_name", "AppName_DEV"
}
demo {
resValue "string", "app_name", "AppName_Demo"
}
prod {
resValue "string", "app_name", "AppName"
}
}
Run Code Online (Sandbox Code Playgroud)
然后在你的AndroidManifest 中使用这个:
android:label="@string/app_name"
Run Code Online (Sandbox Code Playgroud)
它将生成 unResolved app_name并完成!
对于 android,在 src 下为每种风格创建一个目录。在每个源中创建一个名为 的目录res,并在其中创建一个名为 的目录values。
然后在每个values目录中创建一个名为strings.xml
将以下内容添加到该文件中:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">App 1</string>
</resources>
Run Code Online (Sandbox Code Playgroud)
这将创建一个名为 的字符串app_name,可以在 Android Manifest 中使用。
要使用该字符串,请更改 AndroidManifest.xml 中应用程序标记中的 android:label,如下所示:
<application
android:name="io.flutter.app.FlutterApplication"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher">
Run Code Online (Sandbox Code Playgroud)
还要将默认值添加strings.xml到主 res 值目录中。在其中将值设置为“Default Flavor Res”之类的值,以使您注意到该风味没有字符串的资源文件。
参考: http: //cogitas.net/creating-flavors-of-a-flutter-app/