Ife*_*are 11 android deprecated dart flutter
我尝试迁移已弃用的 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
Run Code Online (Sandbox Code Playgroud)
Aar*_*ron 18
我也遇到了这个。就我而言,这是因为我设置了manifestPlaceholders“通常”的方式,通过分配=(正如所有示例似乎所做的那样):
在android/app/build.gradle:
android {\n \xe2\x8b\xae\n defaultConfig {\n applicationId "com.example.my_app"\n minSdkVersion flutter.minSdkVersion\n targetSdkVersion flutter.targetSdkVersion\n versionCode flutterVersionCode.toInteger()\n versionName flutterVersionName\n // This right here!\n manifestPlaceholders = [someKey: "@string/some_value"]\n }\n \xe2\x8b\xae\n}\nRun Code Online (Sandbox Code Playgroud)\n事实证明,multidex 支持引入了动态确定应用程序名称的需求,因此需要${applicationName}清单中的占位符。
该值由 Flutter Gradle 插件通过 确定,因此manifestPlaceholders如果您通过重新分配来替换该值,则会遇到此问题。修复方法很简单:将您的值添加到现有值中,+=如下所示:
android {\n \xe2\x8b\xae\n defaultConfig {\n applicationId "com.example.my_app"\n minSdkVersion flutter.minSdkVersion\n targetSdkVersion flutter.targetSdkVersion\n versionCode flutterVersionCode.toInteger()\n versionName flutterVersionName\n // Fixed now! Note the plus!\n manifestPlaceholders += [someKey: "@string/some_value"]\n }\n \xe2\x8b\xae\n}\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
6150 次 |
| 最近记录: |