Android/Sdk 缺少 Tools 文件夹,意味着没有 sdkmanager,意味着“Android 许可证状态未知”错误

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

我想开始学习 Flutter,所以我正在遵循 guide,但我已经陷入了第一步。除了创建一个全新的应用程序之外,我没有做任何事情,但是当我在 Android Studio 中点击“运行”时,我收到以下错误:

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'.
> Failed to install the following Android SDK packages as some licences have not been accepted.
     build-tools;28.0.3 Android SDK Build-Tools 28.0.3
     platforms;android-28 Android SDK Platform 28
  To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.
  Alternatively, to transfer the license agreements from one workstation to another, see http://d.android.com/r/studio-ui/export-licenses.html

  Using Android SDK: /home/greg/Android/Sdk

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1s
Finished with error: Gradle task assembleDebug failed with exit code 1

看看有类似问题的人,最常见的解决方案似乎是运行

yes | ~/Android/tools/bin/sdkmanager --licenses
,但我没有名为 sdkmanager 的文件夹或文件。尽管我刚刚经历了 Ubuntu 的官方 Android Studio 下载过程,但我的整个文档树实际上是不同的。对于我的文档结构,我有

~/Android/Sdk/$ ls
build-tools  patcher    platform-tools  sources
emulator     platforms  skins  

其中都不包含工具、bin 或 sdkmanager。

我还在 Android Studio 中打开了 SDK Manager,然后转到 SDK Tools 选项卡并更新了 Build-Tools 并接受了许可证,然后退出并重新打开了 Android Studio,但我遇到了相同的错误。我找不到与我具有相同文件结构的人。有人知道我能做什么吗?

编辑

我开始认为真正的问题是我的 Android 文件夹的内容。当我运行

flutter doctor
时,我收到此消息

[✓] Flutter (Channel stable, v1.12.13+hotfix.8, on Linux, locale en_US.UTF-8)
[!] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    ✗ Android license status unknown.
      Try re-installing or updating your Android SDK Manager.
      See https://developer.android.com/studio/#downloads or visit
      https://flutter.dev/setup/#android-setup for detailed instructions.
[!] Android Studio (version 3.6)
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
[✓] IntelliJ IDEA Community Edition (version 2019.3)
[!] Connected device
    ! No devices available

! Doctor found issues in 3 categories.

但是当我运行

flutter doctor --android-licences
时,我收到以下错误消息:

Android sdkmanager tool not found (/home/greg/Android/Sdk/tools/bin/sdkmanager).
Try re-installing or updating your Android SDK,
visit https://flutter.dev/setup/#android-setup for detailed instructions.

我实际上没有工具文件夹、bin 或 sdkmanager。我确实尝试卸载并重新安装 Android Studio,但没有任何改变。我是否下载了错误的软件包或其他什么?我是直接从https://developer.android.com/studio/#downloads下载的,怎么可能内容好像不正确呢?我有 100GB 可用空间,所以空间限制并没有阻止它的安装。我也没有任何互联网问题。

android android-studio gradle flutter android-sdk-manager
6个回答
11
投票

我在 MacOS 上也面临同样的问题。

我今天刚下载了 Android Studio (android-studio-ide-192.6241897-mac),我也缺少 /tools 文件夹。

我可以在“Android/”目录中看到“sdkmanager”的唯一方法是当我安装 cmdline-tools 并在 bin 文件夹中找到它时。但这并不能解决问题。

编辑

找到解决方案。 显然,最新的 Android Studion 版本中不存在“tools/”文件夹。

您仍然可以使用 Android studio 中的 SDK 管理器安装 SDK 工具。

打开 SDK 管理器并转到“SDK 工具”选项卡。取消选中底部的“隐藏过时的软件包”复选框。

执行此操作后,将出现安装“Android SDK Tools(已过时)”包的选项。

安装它们并再次运行

flutter doctor
。 接受许可证后即可运行


5
投票

在 Ubuntu 20.04 LTS 上,这些是我解决此问题的步骤

  1. 更新到最新版本的Android Studio(当前为4.0.1)。我正在使用 JetBrains 工具箱应用程序 在 Ubuntu 上安装 Android studio。

  2. 通过snap安装flutter:

sudo snap install flutter --classic
sudo snap install flutter-gallery
flutter channel dev
flutter upgrade
flutter config --enable-linux-desktop
  1. 按照下图安装命令行工具并在Android Studio中接受它们的许可证(见下图)

  2. 使用 flutter doctor 接受许可证

flutter doctor --android-licenses 5 of 6 SDK 包许可证不
公认。 100% 计算更新...
审查许可证
尚未被接受(是/否)?是 

第三步:按照图片安装命令行工具:

  • 3.1 在Android Studio中选择命令行工具(最新),如图所示,按OK

  • 3.2 接受许可协议

  • 3.3 确认更改

  • 3.4 单击完成


2
投票

较新版本的 Android Studio 没有 /tools 目录。应用程序现在位于“cmdline-tools”中

但是您可以简单地将 /tools/bin 目录链接到 /cmdline-tools/latest/bin 目录:

进入你的sdk根目录并创建一个名为“tools”的目录 cd 进入“工具”

ln -s /path/to/sdk/cmdline-tools/latest/bin/ bin

重新运行 flutter doctor --android-licenses,你应该是金色的。

块引用


0
投票

先卸载Android Studio。然后重新安装并检查,就可以了。我也做了同样的事情。


0
投票

虽然这个帖子已经很陈旧了,但我会添加对我有用的 Flutter doctor 错误:

[✗] Android 工具链 - 为 Android 设备开发 ✗ ANDROID_HOME = ~/Library/Android/sdk 但在此位置找不到 Android SDK。

这是在运行更新的 Flutter 和更新的 Android SDK 的 Macbook Pro M1 上。

我必须重置链接才能解决问题:

 flutter config --android-sdk /Users/craigema/Library/Android/sdk/ 

请注意,之前的路径添加了 /tools/bin,由于最新的 Android SDK 删除了工具目录,我将其删除。

希望这对某人有帮助。


-1
投票

在终端或 cmd 中运行

flutter doctor
,然后输入
y
接受许可证。

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