【问题标题】:Could not start Observatory HTTP server Flutter/Dart无法启动 Observatory HTTP 服务器 Flutter/Dart
【发布时间】:2020-09-29 06:59:53
【问题描述】:

我正在尝试在 Visual Studio Code 中运行这个 Flutter 待办事项列表应用程序:

https://github.com/LiveLikeCounter/Flutter-Todolist

我遇到了这个错误:

I/flutter (30973): Observatory server failed to start after 11 tries
I/flutter (30973): Could not start Observatory HTTP server:
I/flutter (30973): SocketException: Failed to create server socket (OS Error: Operation not permitted, errno = 1), address = 127.0.0.1, port = 0
[38;5;244mI/flutter (30973): #0      _NativeSocket.bind  (dart:io-patch/socket_patch.dart:736:7)[39;49m
I/flutter (30973): <asynchronous suspension>
[38;5;244mI/flutter (30973): #1      _RawServerSocket.bind  (dart:io-patch/socket_patch.dart:1394:26)[39;49m
[38;5;244mI/flutter (30973): #2      _ServerSocket.bind  (dart:io-patch/socket_patch.dart:1676:29)[39;49m
[38;5;244mI/flutter (30973): #3      ServerSocket._bind  (dart:io-patch/socket_patch.dart:1667:26)[39;49m
[38;5;244mI/flutter (30973): #4      ServerSocket.bind  (dart:io/socket.dart:382:27)[39;49m
[38;5;244mI/flutter (30973): #5      _HttpServer.bind  (dart:_http/http_impl.dart:2701:25)[39;49m
I/flutter (30973): #6      HttpServer.bind (dart:_http:229:19)
[38;5;244mI/flutter (30973): #7      Server.startup.poll  (dart:vmservice_io/vmservice_server.dart:410:36)[39;49m
I/flutter (30973): <asynchronous suspension>
I/flutter (30973): #8      Server.startup.poll (dart:vmservice_io/vmservice_server.dart)
[38;5;244mI/flutter (30973): #9      Server.startup  (dart:vmservice_io/vmservice_server.dart:422:23)[39;49m
I/flutter (30973): <asynchronous suspension>
I/flutter (30973): #10     main (dart:vmservice_io:262:12)

我正在运行 Windows 10 家庭版。

在对我尝试过的问题进行了一些挖掘之后:

这里没有成功。

在我所有的调试、主要和配置文件 AndroidManifest.xml 文件中:

...
<uses-permission android:name="android.permission.INTERNET" />
...

除了我拥有的主要的:

...
<uses-permission android:name="android.permission.INTERNET" android:maxSdkVersion="18" />
...

在我的 pubsec.yaml 文件中,我有:

...
environment:
  sdk: ">=2.2.0 <3.0.0"
...

在我的 android/app/build.gradle 文件中,我有:

...
android {
    compileSdkVersion 28
...

颤振医生:

[√] Flutter (Channel stable, v1.17.1, on Microsoft Windows [Version 10.0.18363.836], locale en-US)
    • Flutter version 1.17.1 at C:\SDK\FlutterSDK\flutter
    • Framework revision f7a6a7906b (4 weeks ago), 2020-05-12 18:39:00 -0700
    • Engine revision 6bc433c6b6
    • Dart version 2.8.2


[√] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at C:\Users\y_cha\AppData\Local\Android\sdk
    • Platform android-29, build-tools 29.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)
    • All Android licenses accepted.

[√] Android Studio (version 3.6)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 45.1.1
    • Dart plugin version 192.8052
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)

[√] VS Code (version 1.45.1)
    • VS Code at C:\Users\y_cha\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.11.0

[√] Connected device (2 available)
    • SM G975F                  • R58M43954DX   • android-arm64 • Android 10 (API 29)
    • Android SDK built for x86 • emulator-5554 • android-x86   • Android 10 (API 29) (emulator)

• No issues found!

Gradle 版本:

distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip

这个问题发生在安卓模拟器和我的物理设备上。

我在很多搜索中都看到过这个问题,但我还没有找到明确的解决方案。

任何知道此问题的解决方案的人请提供帮助。

谢谢。

【问题讨论】:

    标签: android flutter dart


    【解决方案1】:

    好吧,我实际上并没有修复任何配置,但我确实解决了这个问题。

    我使用 Flutter 命令创建了一个新的演示应用:

    flutter create demoapp
    

    这将创建股票计数器应用程序。

    所以我只是将所有相关文件和资产复制到演示应用程序中,它终于运行了。

    不确定对此有何感想,但我认为这将是我经常遇到的事情。

    此外,我认为在一个 IDE 中创建一个 Flutter 项目,然后在另一个 IDE 中打开它会产生这些类型的启动/安装问题。

    【讨论】:

      【解决方案2】:

      我在 Android 10 上看到了这个问题,但在 Android 8.1 上没有。为我解决这个问题的是添加:

      <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
      

      它最初使用的是 android.permission.ACCESS_COURSE_LOCATION。

      【讨论】:

        【解决方案3】:

        我错过了 \debug\AndroidManifest.xml 内容:

        <manifest xmlns:android="http://schemas.android.com/apk/res/android"
            package="com.example.my_project">
            <!-- Flutter needs it to communicate with the running application
                 to allow setting breakpoints, to provide hot reload, etc.
            -->
            <uses-permission android:name="android.permission.INTERNET"/>
        </manifest>
        

        (将 my_project 替换为您的项目)

        文件内容与\profile\AndroidManifest.xml相同

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-03-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-07-20
          • 2011-08-05
          • 2015-08-03
          • 2013-12-08
          相关资源
          最近更新 更多