无法使用 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 失败,退出代码为非零