【发布时间】:2022-01-09 10:42:58
【问题描述】:
在 Mac 上使用 Android Studio 中的 Flutter(Arctic Fox 2021.3.1 补丁 4 和 XCode 13.1 和/或 13.2)工作时:
如果您使用 Finder 移动 Flutter 项目的根文件夹,然后在 Android Studio 中打开并运行它,原始文件夹位置仍会被重写(通常是多个子文件夹,内容为空,但并非总是如此)。
此外,移动的项目将不再从 XCode 中构建。
这意味着,如果您在创建项目时不知道项目的最终所需位置,您将无法在不发生奇怪事情的情况下移动它。
如何移动使用 Android Studio 创建的 Flutter 项目而不会产生奇怪的副作用?
更多关于如何复制的信息:
-
关闭所有 IDE
-
打开 Android Studio
-
使用 Android Studio,使用 Java 作为 Android 代码选择创建一个新的默认 FLUTTER 项目
-
使用 Android Studio,在 Android 模拟器上运行此项目
-
使用 Android Studio,在 IOS 模拟器上运行此项目
-
使用Android Studio,在XCode中打开项目(右键ios文件夹,选择Flutter\Open project in Xcode)
-
使用 XCode,在 IOS 模拟器上运行项目
[到目前为止一切正常]
-
关闭所有 IDE
-
使用 Finder,将项目文件夹移动到与其当前文件夹深度相同但父文件夹不同的新位置。意思是如果当前位置是:[root]/x/y/a/my_project_original,则目标是:[root]/x/y/b/my_project_copy
-
删除原始文件夹并记住它的位置
-
使用 Android Studio,从新位置打开项目
-
使用Android Studio,在XCode中打开项目(右键ios文件夹,选择Flutter\Open project in Xcode)
-
尝试在IOS模拟器上运行
[观察错误-“Command PhaseScriptExecution failed with a nonzero exit code”//“file not found exception”]
-
使用 Finder,检查以确认原始文件夹位置未被重写
-
使用 Android Studio,在 Android 模拟器上运行项目
[注意原来的文件夹被改写了!]
【问题讨论】:
-
我用这个详细的问题重现了您的问题。我更新了我的答案,我错过了一个步骤:删除 .idea 文件和包含对您以前路径的引用的 build/ 文件夹。
-
这似乎解决了 Android Studio 对原始文件夹的重新创建,但 IOS 构建错误仍然存在(不知何故 XCode 仍然从某处获取对旧路径的引用)。我仍然会奖励你赏金,因为这似乎是我们能得到的最好的。