找不到Android sdkmanager工具

时间:2018-09-10 11:11:53

标签: android flutter ubuntu-18.04 android-sdk-manager

enter image description here这周我刚开始使用Ubuntu 18.0 LTS,从Windows切换到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.

如果需要,请询问stacktrace。

我能找到的最接近的问题是:How to install SDK manager on linux ubuntu 16.04?,但我真的不明白如何使用这些说明。我可能需要您在说明中非常清楚,因为我是linux平台的新手。

tools / 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.

3 个答案:

答案 0 :(得分:51)

在我的KUbuntu上安装后出现此问题。

您需要打开 AndroidStudio ,然后转到工具-> SDK管理器,然后转到 SDK工具标签,请取消选中选项Hide Obsolete Packages

您将看到 Android SDK工具(已淘汰)的选项,选中该选项,然后继续进行下载和安装过程。

See the screenshot here

答案 1 :(得分:6)

我正在使用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

答案 2 :(得分:0)

在Ubuntu上安装时遇到了这个问题。您需要将env变量ANDROID_HOME设置为安装android sdk的路径,以使Flutter正常工作。

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

ANDROID_HOME=~/Android-SDK flutter doctor

如果可行,则通过添加

,将env变量添加到您的配置文件中以使其持久化
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。