在 M1 Max MacBook Pro 上尝试 运行 flutter 应用程序时出错
Errors when trying to run flutter app on M1 Max MacBook Pro
好的。我是颤振的新手。我有一个可以正常工作的 Flutter 应用程序,运行 在我的旧 MacBook Air 上运行良好。我现在有一台新电脑……明亮、闪亮、气味宜人的 M1 Max MacBook Pro。该应用程序不会 运行。我尝试了一个新的 flutter 应用程序。它也不会运行。它 运行 在 Chrome 上,偶尔 (40%) 在 iOS 模拟器上,但不会 运行 在 Android 上。我完全不知道如何解决这个问题,因为我不明白问题是什么。据说VSCode、AndroidStudio、flutter在这点上都支持Apple Silicon。我读过很多人抱怨类似问题的帖子,但这些解决方案要么不起作用,要么适用于据称还不支持 M1 的旧版本。
我为修复 iOS 模拟器问题所做的工作:
- 取消注释 Podfile 中的 iOS 版本,更改为 10.0
- 运行 sudo arch -x86_64 gem 安装 ffi 成功
没有帮助。
然后,出现Android模拟器错误:
Launching lib/main.dart on sdk gphone64 arm64 in debug mode...
lib/main.dart:1
✓ Built build/app/outputs/flutter-apk/app-debug.apk.
Error: ADB exited with exit code 1
Performing Streamed Install
adb: failed to install /Users/home/Desktop/flutter_dev/rr_v1a/build/app/outputs/flutter-apk/app.apk:
Exception occurred while executing 'install':
android.os.ParcelableException: java.io.IOException: Requested internal only, but not enough space
at android.util.ExceptionUtils.wrap(ExceptionUtils.java:34)
at com.android.server.pm.PackageInstallerService.createSession(PackageInstallerService.java:557)
at com.android.server.pm.PackageManagerShellCommand.doCreateSession(PackageManagerShellCommand.java:3143)
at com.android.server.pm.PackageManagerShellCommand.doRunInstall(PackageManagerShellCommand.java:1341)
at com.android.server.pm.PackageManagerShellCommand.runInstall(PackageManagerShellCommand.java:1303)
at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:193)
at com.android.modules.utils.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:97)
at android.os.ShellCommand.exec(ShellCommand.java:38)
at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:24742)
at android.os.Binder.shellCommand(Binder.java:950)
at and
Error launching application on sdk gphone64 arm64.
Exited (sigterm)
非常感谢任何帮助。
这意味着目前支持的最低 Flutter 版本是 iOS 10。如果我们将 Podfile 版本设置为 platform :ios, '10.0'
那么 Flutter 应用程序将无法部署到 iOS 9 台设备。
- 来自
Podfile
取消注释这一行 # platform :ios, '9.0'
- 改成
platform :ios, '10.0'
- 运行
pod install
根据您发布的消息,模拟器没有足够的 space 来安装应用程序:
Requested internal only, but not enough space
您应该检查模拟器的设置并检查您的设置是否足够 space。此外,我建议安装 Android Studio(英特尔版本)并使用 Rosseta 运行 它。使用此版本,您应该可以 运行 android 模拟器,但 Apple Chip 版本会出现一些问题。
好的。我是颤振的新手。我有一个可以正常工作的 Flutter 应用程序,运行 在我的旧 MacBook Air 上运行良好。我现在有一台新电脑……明亮、闪亮、气味宜人的 M1 Max MacBook Pro。该应用程序不会 运行。我尝试了一个新的 flutter 应用程序。它也不会运行。它 运行 在 Chrome 上,偶尔 (40%) 在 iOS 模拟器上,但不会 运行 在 Android 上。我完全不知道如何解决这个问题,因为我不明白问题是什么。据说VSCode、AndroidStudio、flutter在这点上都支持Apple Silicon。我读过很多人抱怨类似问题的帖子,但这些解决方案要么不起作用,要么适用于据称还不支持 M1 的旧版本。 我为修复 iOS 模拟器问题所做的工作:
- 取消注释 Podfile 中的 iOS 版本,更改为 10.0
- 运行 sudo arch -x86_64 gem 安装 ffi 成功
没有帮助。
然后,出现Android模拟器错误:
Launching lib/main.dart on sdk gphone64 arm64 in debug mode...
lib/main.dart:1
✓ Built build/app/outputs/flutter-apk/app-debug.apk.
Error: ADB exited with exit code 1
Performing Streamed Install
adb: failed to install /Users/home/Desktop/flutter_dev/rr_v1a/build/app/outputs/flutter-apk/app.apk:
Exception occurred while executing 'install':
android.os.ParcelableException: java.io.IOException: Requested internal only, but not enough space
at android.util.ExceptionUtils.wrap(ExceptionUtils.java:34)
at com.android.server.pm.PackageInstallerService.createSession(PackageInstallerService.java:557)
at com.android.server.pm.PackageManagerShellCommand.doCreateSession(PackageManagerShellCommand.java:3143)
at com.android.server.pm.PackageManagerShellCommand.doRunInstall(PackageManagerShellCommand.java:1341)
at com.android.server.pm.PackageManagerShellCommand.runInstall(PackageManagerShellCommand.java:1303)
at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:193)
at com.android.modules.utils.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:97)
at android.os.ShellCommand.exec(ShellCommand.java:38)
at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:24742)
at android.os.Binder.shellCommand(Binder.java:950)
at and
Error launching application on sdk gphone64 arm64.
Exited (sigterm)
非常感谢任何帮助。
这意味着目前支持的最低 Flutter 版本是 iOS 10。如果我们将 Podfile 版本设置为 platform :ios, '10.0'
那么 Flutter 应用程序将无法部署到 iOS 9 台设备。
- 来自
Podfile
取消注释这一行# platform :ios, '9.0'
- 改成
platform :ios, '10.0'
- 运行
pod install
根据您发布的消息,模拟器没有足够的 space 来安装应用程序:
Requested internal only, but not enough space
您应该检查模拟器的设置并检查您的设置是否足够 space。此外,我建议安装 Android Studio(英特尔版本)并使用 Rosseta 运行 它。使用此版本,您应该可以 运行 android 模拟器,但 Apple Chip 版本会出现一些问题。