gpt4 book ai didi

android - 为什么在将我的 Flutter 应用程序迁移到 Android 嵌入 v2 后没有提供 ${applicationName} 的值?

转载 作者:行者123 更新时间:2023-12-04 23:38:00 44 4
gpt4 key购买 nike

我试图迁移一个已弃用的 flutter 应用程序,但在按照 github 上提供的步骤进行操作后,我得到了这个

C:\Users\personal\AndroidStudioProjects\flash-chat-flutter\android\app\src\main\AndroidManifest.xml:10:9-42 Error:
Attribute application@name at AndroidManifest.xml:10:9-42 requires a placeholder substitution but no value for <applicationName> is provided.
C:\Users\personal\AndroidStudioProjects\flash-chat-flutter\android\app\src\debug\AndroidManifest.xml Error:
Validation failed, exiting

最佳答案

我也遇到了这个。就我而言,这是因为我设置了 manifestPlaceholders “通常”的方式,通过分配 = (正如所有示例似乎都一样):
android/app/build.gradle :

android {

defaultConfig {
applicationId "com.example.my_app"
minSdkVersion flutter.minSdkVersion
targetSdkVersion flutter.targetSdkVersion
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
// This right here!
manifestPlaceholders = [someKey: "@string/some_value"]
}

}
原来 multidex support引入了动态确定应用程序名称的需求,因此 ${applicationName} list 中的占位符。
该值由 Flutter Gradle 插件 here 确定通过 manifestPlaceholders ,因此,如果您通过重新分配来替换该值,那么您将遇到此问题。修复很简单:使用 += 将您的值添加到现有值中像这样:
android {

defaultConfig {
applicationId "com.example.my_app"
minSdkVersion flutter.minSdkVersion
targetSdkVersion flutter.targetSdkVersion
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
// Fixed now! Note the plus!
manifestPlaceholders += [someKey: "@string/some_value"]
}

}

关于android - 为什么在将我的 Flutter 应用程序迁移到 Android 嵌入 v2 后没有提供 ${applicationName} 的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69896828/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com