无法使用 Flutter 1.22.3 编译 Flutter 应用程序
Posted
技术标签:
【中文标题】无法使用 Flutter 1.22.3 编译 Flutter 应用程序【英文标题】:Unable to compile Flutter application with Flutter 1.22.3 【发布时间】:2021-02-14 14:26:47 【问题描述】:在 Flutter 版本升级之前,我的应用程序编译成功。 我收到以下错误:
Runner.app/Info.plist does not exist. The Flutter "Thin Binary" build phase must run after "Copy Bundle Resources".
颤振医生-v
[✓] Flutter (Channel stable, 1.22.3, on Mac OS X 10.15.6 19G2021, locale fr-FR)
• Flutter version 1.22.3 at /Users/xxx/development/flutter
• Framework revision 8874f21e79 (3 days ago), 2020-10-29 14:14:35 -0700
• Engine revision a1440ca392
• Dart version 2.10.3
[✓] android toolchain - develop for Android devices (Android SDK version 29.0.2)
• Android SDK at /Users/xxx/Library/Android/sdk
• Platform android-R, build-tools 29.0.2
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
• All Android licenses accepted.
[✓] Xcode - develop for ios and macOS (Xcode 12.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 12.1, Build version 12A7403
• CocoaPods version 1.10.0.rc.1
【问题讨论】:
我对 1.22.2 有同样的问题 【参考方案1】:我通过运行flutter clean
修复了它
(请确保如果您将 Runner 重命名为 Runner.app,则该目录也不再是 ios 目录中的目录)
然后我重建它并重新投入使用:)
【讨论】:
【参考方案2】:我遇到了同样的问题,并通过以下步骤修复:
-
从 Runner.Workspace 启动 iOS 应用程序
进入构建阶段 --> 精简二进制
注释 shell 脚本行。
运行应用程序(它可以工作,但应用程序大小会增加到 161 MB)
现在再次取消注释第 3 步中的同一行。应用构建并运行,应用大小缩小到 (97 MB)
【讨论】:
也为我工作!谢谢【参考方案3】:尝试将项目名称从 Runner 重命名为 Runner.app
它也会将目标重命名为 Runner.app.app,但项目将编译并运行。
【讨论】:
【参考方案4】:解决方案
转到Runner(target app) > Build Phases > Run Script
并使用以下脚本更新运行脚本。
/bin/sh "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" build
此外,请验证 Runner(target app) > Build Phases > This Binary
是否包含 Flutter 团队在 XCode 11.4 Support 中建议的以下脚本。
/bin/sh "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" embed
/bin/sh "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" thin
更多信息请查看question。
【讨论】:
【参考方案5】:我们的项目经常遇到同样的问题。不幸的是,我们还不能完全修复它,但我们有一个解决方法:
转到存储构建文件的文件夹
例如/Users/your.name/Projects/app_project/build/ios/iphonesimulator/YourApp.app
)
右键单击打开应用程序 -> 显示包内容。然后只需将早期版本中的旧 info.plist
复制到此应用程序包中即可。应用应该重新构建。
【讨论】:
【参考方案6】:我发现了问题。修复它:
打开 XCode 打开构建阶段面板 在运行脚本中,我删除了脚本的第二行(我只保留以下行:/bin/sh "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" build)【讨论】:
是什么原因造成的? 也许之前的 Flutter 版本需要一个脚本?不确定...【参考方案7】:我遇到了同样的问题。 我已经解决了这个问题,将flutter的版本更改为“flutter_macos_1.17.2-stable”。 我的英语不好。请原谅我
【讨论】:
以上是关于无法使用 Flutter 1.22.3 编译 Flutter 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
Flutter 如何将裁剪器添加到 fl_chart (CustomPainter)
Flutter图表库fl_chart的使用解析(二)-折线图
Flutter WebView 插件无法播放某些 YouTube 视频
如何解决错误 FAILURE: Build failed with an exception。 * 其中:脚本 'C:\flutter\packages\flutter_tools\gradle\fl
使用 Firebase In App Messaging 插件时 Flutter 无法编译项目
Flutter 运行 - 无法构建 iOS 应用程序 - 命令 PhaseScriptExecution 失败,退出代码为非零