找不到Android sdkmanager工具

问题描述 投票:0回答:9

我这周刚开始使用 Ubuntu 18.0 LTS,从 Windows 切换过来,想重新安装 Android Studio 和 Flutter。我按照所说的所有步骤安装了 Android Studio,它与所有 SDK 都能正常工作。然而,当我想安装 Flutter 时,它给出了异常:

Doctor summary (to see all details, run flutter doctor -v):
Unhandled exception:
Exception: Android sdkmanager tool not found (/usr/lib/android-sdk/tools/bin/sdkmanager).
Try re-installing or updating your Android SDK,
visit https://flutter.io/setup/#android-setup for detailed instructions.

如果需要,请索要堆栈跟踪。

我能找到的最接近的问题是:How to install SDK manager on linux ubuntu 16.04?但我无法真正理解如何操作这些说明。我可能需要你在说明中非常清楚,因为我是 Linux 平台的新手。

工具/package.xml:

<ns2:repository xmlns:ns2="http://schemas.android.com/repository/android/common/01"
            xmlns:ns3="http://schemas.android.com/sdk/android/repo/addon2/01"
            xmlns:ns4="http://schemas.android.com/sdk/android/repo/sys-img2/01"
            xmlns:ns5="http://schemas.android.com/repository/android/generic/01"
            xmlns:ns6="http://schemas.android.com/sdk/android/repo/repository2/01">
      <license id="apache-2.0" type="text">Please refer to Apache v2.0 license</license>
  <localPackage path="tools" obsolete="false">
<type-details xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:type="ns5:genericDetailsType"/>
<revision>
  <major>25</major>
  <minor>0</minor>
  <micro>0</micro>
</revision>
<display-name>Android SDK Tools</display-name>
<uses-license ref="apache-2.0"/>
<dependencies>
  <dependency path="platform-tools">
    <min-revision>
      <major>20</major>
    </min-revision>
  </dependency>
</dependencies>
  </localPackage>
 </ns2:repository>

Flutter doctor -v 输出:

[✓] Flutter (Channel beta, v0.7.3, on Linux, locale en_IN)
• Flutter version 0.7.3 at /home/andi/Downloads/flutter
• Framework revision 3b309bda07 (13 days ago), 2018-08-28 12:39:24 -0700
• Engine revision af42b6dc95
• Dart version 2.1.0-dev.1.0.flutter-ccb16f7282

[!] Android toolchain - develop for Android devices (Android SDK 28.0.2)
• Android SDK at /home/andi/Android/Sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-28, build-tools 28.0.2
• ANDROID_HOME = /home/andi/Android/Sdk
• Java binary at: /home/andi/Downloads/android-studio-ide-173.4907809-linux/android-studio/jre/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses

[✓] Android Studio (version 3.1)
• Android Studio at /home/andi/Downloads/android-studio-ide-173.4907809-linux/android-studio
• Flutter plugin version 28.0.1
• Dart plugin version 173.4700
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)

[!] Connected devices
! No devices available

! Doctor found issues in 2 categories.
android flutter ubuntu-18.04 android-sdk-manager
9个回答
85
投票

我在 KUbuntu 上安装后遇到了这个问题。

您需要打开AndroidStudio,然后转到Tools -> SDK Manager,然后转到SDK Tools选项卡,取消选中选项

Hide Obsolete Packages

您将看到Android SDK Tools (Obsolete)的选项,选中该选项并继续下载和安装过程。


12
投票

我正在使用 Manjaro Linux。设置我的

ANDROID_HOME
并从 Android Studio 安装 Android SDK 命令行工具(最新)后。

然后跑了:

flutter doctor --android-licenses

$ mkdir ~/Android/Sdk/tools/bin

并创建了指向真实路径的链接

$ ln -s ~/Android/Sdk/cmdline-tools/latest/bin/sdkmanager ~/Android/Sdk/tools/bin/sdkmanager

再次运行并接受所有

$ flutter doctor --android-licenses

flutter doctor


9
投票

如果您在接受 SDK 许可证时遇到此错误。

➜  ~ flutter doctor --android-licenses
Android sdkmanager not found. Update to the latest Android SDK and ensure that the cmdline-tools are installed
to resolve this

最初的 android-sdk 的结构是:

android-sdk
├── build-tools
│   ├── 29.0.3 -> debian
│   └── debian
│       └── lib
├── cmdline-tools
│   ├── tools
│   │   ├── bin

我配置 android 许可证的方法是通过将“工具”更改为“最新”来更改 android-sdk 目录的结构

android-sdk
├── build-tools
│   ├── 29.0.3 -> debian
│   └── debian
│       └── lib
├── cmdline-tools
│   ├── latest
│   │   ├── bin
|   |   |  

5
投票

修复 Android sdkmanager 未找到警告:

  1. 打开Android Studio
  2. 从顶部工具栏中选择工具 > SDK 管理器
  3. 选择带有蓝色下划线的SDK Tools 选项卡
  4. 取消选中“隐藏过时的软件包”。
  5. 勾选
    Android SDK Command-line Tools (latest)

6. 单击确定

Android Studio 电鳗截图。


4
投票

我在 Ubuntu 上安装时遇到了这个问题。您需要将环境变量 ANDROID_HOME 设置为您安装 android sdk 的路径才能使 flutter 工作。

假设您在主目录中安装了 SDK,请打开终端并发出此命令

ANDROID_HOME=~/Android-SDK flutter doctor

如果有效,则将环境变量添加到您的配置文件中以使其持久化,方法是添加

export ANDROID_HOME=~/Android-SDK

到你的 ~/.profile 脚本,然后重新登录到 Ubuntu。

显然,如果你将 android sdk 安装在不同的目录中,你只需要将 ~/ 替换为该目录,例如,如果你将 sdk 安装到 /opt ,那么命令将是 ANDROID_HOME=/opt/Android-SDK 颤动医生

检查了我的 android sdk + flutter 设置后,我还最终将以下内容添加到我的路径中

~/Android-SDK/platform-tools

您可以在修改您的个人资料之前通过终端中的以下命令进行测试

PATH=$PATH:~/Android-SDK/platform-tools ANDROID_HOME=~/Android-SDK flutter doctor

再次将 ~/Android-SDK 更改为您安装 android SDK 的位置。如果有效,请相应地更改您的个人资料并重新登录到 Ubuntu。


1
投票

我总是很困惑,为什么一个安装包不应该包含所有必需的依赖项,却给这么多人带来麻烦(也许是有趣)?

无论如何,我想在zmofsx解决方案中添加一些内容,因为对我来说,该解决方案并没有完全解决问题,我还必须执行下面描述的更多步骤。

希望这些可以帮助某人排除故障。

因此,在执行了上面描述的步骤之后,我在控制台中执行了以下操作:

flutter doctor --android-licenses

点击 Y 显示所有许可证,然后点击 Y 显示每个许可证。然后

flutter doctor

这是我的控制台输出:

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.0.5, on Ubuntu 20.04.4 LTS 5.4.0-122-generic, locale en_GB.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
[✓] Chrome - develop for the web
[✓] Linux toolchain - develop for Linux desktop
[✓] Android Studio (version 2021.2)
[✓] Android Studio
[✓] VS Code (version 1.69.2)
[✓] Connected device (2 available)
[✓] HTTP Host Availability

• No issues found!

然后测试结果:

mkdir flutter_example
cd flutter_example
flutter create .
flutter run -d linux

并让应用程序运行:


1
投票

对于那些使用 pop_os 22 并使用 flatpak 安装了 android studio 的用户 问题是android studio是孤立的,所以你需要配置android-sdk和android-studio-dir的路径

flutter config --android-sdk ~/Android/Sdk
flutter config -android-studio-dir path/android-studio

对于从商店安装的 pop_os,您可以在这里找到它 /home//.local/share/flatpak/app/com.google.AndroidStudio/current/active/files/extra/android-studio

然后您将运行

flutter doctor --android-licenses
并接受所有许可证,因此现在
flutter doctor
将不会显示错误。


0
投票

使用Flutter的config工具

flutter config --android-sdk ~/Android/Sdk/
flutter config --android-studio-dir ~/android-studio/

接受许可后

flutter doctor --android-licenses 


0
投票

重新安装android studio可以解决这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.