问题
I newly started using Ubuntu 18.0 LTS this week, switching from Windows, and wanted to install Android Studio and Flutter back. I followed all the steps as said to install Android Studio and it is working fine with all the SDKs. However, when I wanted to install Flutter, it gives exception:
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.
Ask for the stacktrace if you need it.
The closest issue I could find was: How to install SDK manager on linux ubuntu 16.04? but I couldn't really understand how to work the instructions. I might need you to be really clear in the instructions because I'm new to the linux platform.
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 output:
[✓] 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.
回答1:
I had this issue after installed on my KUbuntu.
You need to open AndroidStudio then go to Tools -> SDK Manager then go to SDK Tools tab, uncheck the option Hide Obsolete Packages
You will see the option of Android SDK Tools (Obsolete), check the option and continue the process download and installation.
回答2:
I'm using Manjaro Linux. After set my ANDROID_HOME
and install Android SDK Command-line tools (latest) from Android Studio.
And ran:
flutter doctor --android-licenses
$ mkdir ~/Android/Sdk/tools/bin
And created a link to the real path
$ ln -s ~/Android/Sdk/cmdline-tools/latest/bin/sdkmanager ~/Android/Sdk/tools/bin/sdkmanager
Ran again and accept all
$ flutter doctor --android-licenses
flutter doctor
回答3:
I had this issue when I installed on Ubuntu. You need to set env variable ANDROID_HOME to the path you installed the android sdk for flutter to work.
So assuming you installed the SDK in your home directory, open a terminal and issue this command
ANDROID_HOME=~/Android-SDK flutter doctor
If that worked, then add the env variable to your profile to make it persistent, by adding
export ANDROID_HOME=~/Android-SDK
to your ~/.profile script, then relogin to Ubuntu.
Obviously if you installed the android sdk in a different directory, you just need to replace ~/ with the directory, so for example if you installed the sdk to /opt, then the command would be ANDROID_HOME=/opt/Android-SDK flutter doctor
Having checked my android sdk + flutter setup, I also ended up adding the following to my path
~/Android-SDK/platform-tools
You can test this before messing with your profile, by the following command in a terminal
PATH=$PATH:~/Android-SDK/platform-tools ANDROID_HOME=~/Android-SDK flutter doctor
And again change ~/Android-SDK to wherever you installed the android SDK. If it works, change your profile accordingly and relogin to Ubuntu.
来源:https://stackoverflow.com/questions/52256569/android-sdkmanager-tool-not-found