【问题标题】:Flutter Does Not Recognize Android SDK Build-Tools 25.0.3Flutter 无法识别 Android SDK Build-Tools 25.0.3
【发布时间】:2017-11-30 19:24:31
【问题描述】:

文学,刚开始看Flutter,在Android Studio 3.0.1安装了Flutter插件,重启Android Studio,根据Flutter文档创建了一个简单的hello world app。

这也将 Flutter SDK 安装在 C:\flutter 中,因此应用创建过程正确选择了该位置作为 SDK 位置。

但是,运行应用程序(在模拟器上)显示此错误

Launching lib\main.dart on Android SDK built for x86 in debug mode...
Initializing gradle...
Resolving dependencies...
Finished with error: 

* Error running Gradle:
Unable to download needed Android SDK components, as the following licenses have not been accepted:
Android SDK Build-Tools 25.0.3

To resolve this, please run the following command in a Terminal:
flutter doctor --android-licenses

但是当我查看 Android SDK 时,安装了来自 25.0.0 to 27.0.1 的每个 Build-Tools,包括 25.0.3.

按照上面的建议从终端运行 flutter doctor --android-licenses 会显示此错误

C:\Users\user\Desktop\work\flutter\first_flutter_app>doctor --android-licences
'flutter' is not recognized as an internal or external command,
operable program or batch file.

更新

然后我将我的C:\flutter\bin 添加到系统路径并尝试再次发出

flutter doctor --android-licenses

但出现错误“Unknown argument --licenses”。

接下来我运行:

flutter upgrade

这也完成了,但运行我的应用程序仍然产生相同的错误重新许可问题。

flutter upgrade 显示以下输出:

Running flutter doctor...
[√] Flutter (on Microsoft Windows [Version 10.0.15063], locale en-US, channel alpha)
    • Flutter at C:\flutter
    • Framework revision d957c8f040 (4 days ago), 2017-11-30 13:29:59 -0800
    • Engine revision 77d8acb9be
    • Tools Dart version 1.25.0-dev.11.0
    • Engine Dart version 2.0.0-dev.9.0

[√] Android toolchain - develop for Android devices (Android SDK 25.0.2)
    • Android SDK at C:\Program Files (x86)\Android\android-sdk
    • Unable to locate Android NDK.

    • Unable to locate compiler in Android NDK.

    • Platform android-25, build-tools 25.0.2
    • ANDROID_HOME = C:\Program Files (x86)\Android\android-sdk
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b01)

[√] Android Studio (version 3.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b01)

[√] Connected devices
    • Android SDK built for x86 • emulator-5554 • android-x86 • Android 7.1.1 (API 25) (emulator)

我真的一直在绕圈子。以下是我使用颤振从终端运行我的应用程序时发生的情况(上面我解释了如果我从 IDE 运行它会发生什么:

C:\Users\user\Desktop\work\flutter\flutter_app_myapp>flutter run
Launching lib/main.dart on Android SDK built for x86 in debug mode...
Initializing gradle...                                0.7s
Resolving dependencies...                                |

* Error running Gradle:
Unable to download needed Android SDK components, as the following licenses have not been accepted:
Android SDK Build-Tools 25.0.3

To resolve this, please run the following command in a Terminal:
flutter doctor --android-licenses                                                                                                        /
C:\Users\user\Desktop\work\flutter\flutter_app_myapp>>flutter doctor --android-licenses
Error: Unknown argument --licenses

更新2

flutter -v doctor --android-licenses的输出

C:\Users\user\Desktop\work\flutter\flutter_app_dino>flutter -v doctor --android-licenses
[  +23 ms] [C:\flutter\] git rev-parse --abbrev-ref --symbolic @{u}
[  +45 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/alpha
[        ] [C:\flutter\] git rev-parse --abbrev-ref HEAD
[  +20 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] alpha
[        ] [C:\flutter\] git ls-remote --get-url origin
[  +19 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[        ] [C:\flutter\] git log -n 1 --pretty=format:%H
[  +20 ms] Exit code 0 from: git log -n 1 --pretty=format:%H
[        ] d957c8f040902aa3fd44b367150bde56b64cec83
[        ] [C:\flutter\] git log -n 1 --pretty=format:%ar
[  +21 ms] Exit code 0 from: git log -n 1 --pretty=format:%ar
[        ] 5 days ago
[ +222 ms] C:\Program Files (x86)\Android\android-sdk\tools\bin\sdkmanager.bat --licenses
**Error: Unknown argument --licenses**
Usage:
  sdkmanager [--uninstall] [<common args>] \
    [--package_file <package-file>] [<packages>...]
  sdkmanager --update [<common args>]
  sdkmanager --list [<common args>]

In its first form, installs, or uninstalls, or updates packages.
    <package> is a sdk-style path (e.g. "build-tools;23.0.0" or
             "platforms;android-23").
    <package-file> is a text file where each line is a sdk-style path
                   of a package to install or uninstall.
    Multiple --package_file arguments may be specified in combination
     with explicit paths.
In its second form (with --update), currently installed packages are
    updated to the latest version.
In its third form, all installed and available packages are printed out.

Common Arguments:
    --sdk_root=<sdkRootPath>: Use the specified SDK root instead of the SDK containing this tool
    --channel=<channelId>: Include packages in channels up to <channelId>.
                           Common channels are:
                           0 (Stable), 1 (Beta), 2 (Dev), and 3 (Canary).

    --include_obsolete: With --list, show obsolete packages in the
                        package listing. With --update, update obsolete
                        packages as well as non-obsolete.
    --no_https: Force all connections to use http rather than https.
    --proxy=<http | socks>: Connect via a proxy of the given type.
    --proxy_host=<IP or DNS address>: IP or DNS address of the proxy to use.
    --proxy_port=<port #>: Proxy port to connect to.

* If the env var REPO_OS_OVERRIDE is set to "windows",
  "macosx", or "linux", packages will be downloaded for that OS.
[ +152 ms] "flutter doctor" took 301ms.
[ +198 ms] ensureAnalyticsSent: 196ms
[   +2 ms] exiting with code 0

但是,如果我导航到我的 Android\sdk\tools\bin,我确实有 sdkmanager 并从那里发出 sdkmanager --licenses 显示:

C:\Users\user\AppData\Local\Android\sdk\tools\bin>sdkmanager --licenses
All SDK package licenses accepted.======] 100% Computing updates...

所以,Flutter 目前似乎充满了错误,不确定是否值得在这个 alpha 阶段花时间使用它,正如你所看到的,我有几个循环问题,它说它找不到命令,但该命令存在。我遵循了确切的安装步骤,如果需要几天时间才能弄清楚并且仍然没有解决方案,我会说,它甚至还没有准备好。

【问题讨论】:

  • 您是否尝试过运行&lt;Android SDK&gt;/tools/bin/sdkmanager --licenses 并接受许可?
  • 谢谢,我刚刚尝试过并接受了所有许可证,重新启动了 Android Studio 和模拟器,并遇到了与我在上面的帖子中描述的相同的问题

标签: flutter android-studio-3.0


【解决方案1】:

运行flutter doctor 时出现此错误的原因是您没有将flutter.bat 位置文件放在PATH(Windows 环境变量)中。或者也许颤动只是搞砸了。
假设您不想这样做,只需将flutter 称为"$FLUTTER_DIR\bin\flutter" doctor --android-licences

【讨论】:

  • 将其添加到路径后,出现错误“android-licenses”是无法识别的命令。发出“flutter”显示命令列表,android-licenses 无处可见。
  • 试试flutter doctor -h。它给了我“android-licences”作为一个有效的选项。 \n 如果它仍然不存在,请尝试更新你的颤振。
  • 请尝试运行这个:flutter -v doctor --android-licenses
  • 请参阅上面的 UPDATE2
  • 我在安装颤振时也遇到了问题,所以我感觉到了。我已经告诉过你是什么为我解决了这个问题,所以我唯一能做的就是去找开发人员。我正在尝试在 github (here) 上重新打开问题。我会不时检查那里并告诉你是否有任何事情发生。对我来说奇怪的是sdkmanager.bat 没有像--licenses 那样的论点,所以也许颤振试图找到不同的路径?无论如何,我会让你更新。祝你好运。
猜你喜欢
  • 1970-01-01
  • 2016-01-30
  • 1970-01-01
  • 1970-01-01
  • 2020-05-25
  • 1970-01-01
  • 2017-11-12
  • 2013-12-14
  • 2015-12-16
相关资源
最近更新 更多