Flutter 运行命令错误:在分离视图上调用 FlutterView.send

Posted

技术标签:

【中文标题】Flutter 运行命令错误:在分离视图上调用 FlutterView.send【英文标题】:Flutter run command error : FlutterView.send called on a detached view 【发布时间】:2018-03-07 11:29:17 【问题描述】:

谁能告诉我为什么我的应用根本没有安装并以错误消息结尾

天文台连接从未准备好。

直到昨天,该应用程序都运行良好。

我昨天在命令提示符中将频道更改为 master,从那时起,该应用程序就再也没有运行过。

我什至切换回通道 alpha,但仍然没有用。

我附上了安装永远卡住的命令提示符的屏幕截图。

我不确定是否需要重新安装颤振。我担心如果我现在卸载颤振,它可能无法正确配置,我可能会永远破坏它。

请有人告诉我究竟出了什么问题。

非常感谢, 鲯鳅

【问题讨论】:

【参考方案1】:

不要重新安装尝试以下操作:(Mac)

设置路径变量:通过以下终端命令

export PATH=~/flutter/bin:$PATH;

即flutter的bin文件夹路径。

   export PATH=[PATH_TO_FLUTTER_GIT_FOLDER]/bin:$PATH

https://flutter.io/setup-macos/#update-your-path

如果上述方法不起作用。检查 Dart 版本

dart --version

安装最新的 dart 版本:

    brew install dart --devel

希望这对其他人有所帮助。

【讨论】:

【参考方案2】:

对于 Mac 打开终端

    $ 回声 $PATH 它会像这样显示 /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin: 这意味着您需要在路径中添加颤振

    打开 Finder 按 command + shift + G

    将 /etc/paths 放入对话框并按 GO

    复制文件“paths”并粘贴到桌面

    然后从桌面打开粘贴的“路径”文件 并将以下行添加到文件“/flutter/bin”的末尾

    然后复制该文件并再次将其粘贴到 /etc/paths 与第 2 步相同

    它会问你是否更换

    按下替换

现在,如果您在终端上点击 $ echo $PATH,它将显示 /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/swagat/development/flutter/bin

现在您的 $flutter doctor 将完美运行

【讨论】:

需要注意的一点:在步骤 3 中,您必须将正确的实际路径放入您的机器中,而不是 /flutter/bin,因为它根据您存储 Flutter 文件夹的位置而有所不同【参考方案3】:

解决方案来自 Google Groups @Flutter-Dev

非常感谢@Michael Thomsen 的回复。

我已经尝试了您的建议,详细信息如下:

    当我使用flutter run -v 命令时,命令提示符输出如下: 如果我没记错的话,它在waiting for port connection 停留了一段时间。

所以我使用androidStudioFile>Open 并选择android/ 文件夹来运行应用程序,然后gradle 显示错误:

Error:Conflict with dependency 'com.android.support:support-annotations' in project ':app'. Resolved versions for app (25.2.0) and test app (25.4.0) differ. See http://g.co/androidstudio/app-test-app-conflict for details.

我修改了 build.gradle(Module:app) 以显示 25.2.0 的正确版本,之前显示的是 25.4.0。

 dependencies 
  androidTestCompile 'com.android.support:support-annotations:25.2.0'
  

我刚刚在 android studio 中保存了更改,并且 gradle 同步完成,没有任何错误。

现在我可以在 Android Studio 和 IntelliJ IDE 中运行该应用程序。

非常感谢迈克尔这解决了我的问题。

【讨论】:

我的问题不同,但是单独打开android项目可以让我找到并解决问题。【参考方案4】:

重新安装颤振将是我的起点。如果此问题仍然存在,请发布$>flutter doctor 的输出并说明导致此错误的确切原因。

【讨论】:

谢谢rainer,我尝试通过从 git 克隆来重新安装颤振,但无济于事,它没有抛出任何错误消息,而是像我发布的上一个屏幕截图一样卡住了问题。很抱歉,我无法发布颤振医生的输出,因为字符超出了添加 cmets 的限制 我知道在没有适当细节的情况下很难回答这个问题,但感谢@Rainer Wittman 的帮助。不幸的是,我被卡住了,可能不得不浪费一两天来弄清楚出了什么问题?我试图克隆代码,它似乎在其他系统上运行良好,但在我的笔记本电脑上坏了。

以上是关于Flutter 运行命令错误:在分离视图上调用 FlutterView.send的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 9 中不鼓励在分离的视图控制器上显示视图控制器?

Flutter 模拟器错误:命令 PhaseScriptExecution 失败,退出代码为非零

iOS:presentViewController 错误 不鼓励在分离的视图控制器上显示视图控制器

Flutter 下省镖版

Flutter 应用程序可以在后台运行吗?

Flutter Xcode:clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)