flutter doctor - 如何解决 Android sdkmanager cmdline-tools 组件丢失?

23 浏览
0 Comments

flutter doctor - 如何解决 Android sdkmanager cmdline-tools 组件丢失?

我正在尝试在 macOS Monterey 12.1 上安装/设置 flutter_macos_2.10.2-stable

Java 版本:

echo $JAVA_HOME

输出:

/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home

已安装 Android Studio Bumblebee 2021.1.1 Patch 1(同时安装了 flutter-dev 64.1.2 插件)。


~/.bash_profile 中:

export ANDROID_HOME="/Users/pnwlover/Library/Android/sdk";
export FLUTTER_HOME="/Users/pnwlover/DevTools/flutter/flutter_macos_2.10.2-stable";
PATH="/usr/local/bin:$PATH:/usr/local/sbin:$FLUTTER_HOME/bin:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/tools/bin";

现在,当我运行 flutter doctor -v 时:

flutter doctor -v
[✓] Flutter (Channel stable, 2.10.2, on macOS 12.1 21C52 darwin-x64, locale en-US)
    • Flutter version 2.10.2 at /Users/pnwlover/DevTools/flutter/flutter_macos_2.10.2-stable
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 097d3313d8 (3 days ago), 2022-02-18 19:33:08 -0600
    • Engine revision a83ed0e5e3
    • Dart version 2.16.1
    • DevTools version 2.9.2
[!] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/pnwlover/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.2
[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2021.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7590822)
[✓] IntelliJ IDEA Ultimate Edition (version 2021.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
[✓] VS Code (version 1.44.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension can be installed from:
       https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
[✓] Connected device (1 available)
    • Chrome (web) • chrome • web-javascript • Google Chrome 98.0.4758.102
[✓] HTTP Host Availability
    • All required HTTP hosts are available
! Doctor found issues in 1 category.


尝试执行以下操作时:

sdkmanager --install \"cmdline-tools;latest\"

收到以下警告:

Warning: Unknown argument --install
Usage: 
  sdkmanager [--uninstall] [] [--package_file ] [...]
  sdkmanager --update []
  sdkmanager --list []
  sdkmanager --licenses []
In its first form, installs, or uninstalls, or updates packages.
    By default, the listed packages are installed or (if already installed)
    updated to the latest version.
    --uninstall: uninstalled listed packages.
     is a sdk-style path (e.g. "build-tools;23.0.0" or
             "platforms;android-23").
     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), all installed packages are
    updated to the latest version.
In its third form, all installed and available packages are printed
    out.
In its fourth form (with --licenses), show and offer the option to
     accept licenses for all available packages that have not already been
     accepted.
Common Arguments:
    --sdk_root=: Use the specified SDK root instead of the SDK 
                              containing this tool
    --channel=: Include packages in channels up to .
                           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=: Connect via a proxy of the given type.
    --proxy_host=: IP or DNS address of the proxy to use.
    --proxy_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.

我错过了哪些步骤?

我如何安装 Android 的 sdkmanager 的 cmdline-tools;latest

admin 更改状态以发布 2023年5月23日
0
0 Comments

非常简单,只需打开Android Studio并进入设置,搜索SDK,在右侧的Android SDK选项卡中找到cmd线工具,选中复选框并点击应用按钮,然后在新终端上运行flutter doctor,会显示一个错误,用以下命令解决第一个问题,保持同意许可证并按y和回车键:

flutter doctor --android-licenses

enter image description here
enter image description here

0