Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android SDK cannot be found by flutter

I have installed flutter through AUR. I also have aur/android-sdk 26.0.2-1 installed. When I run flutter run I get:

Warning! This package referenced a Flutter repository via the .packages file that is no longer available. The repository from which the 'flutter' tool is currently executing will be used instead.   running Flutter tool: /home/dair/.flutter-sdk   previous reference  : /home/dair/flutter This can happen if you deleted or moved your copy of the Flutter repository, or if it was on a volume that is no longer mounted or has been mounted at a different location. Please check your system path to verify that you are running the expected version (run 'flutter --version' to see which flutter is on your path).  Unable to locate a development device; please run 'flutter doctor' for information about installing additional components. 

Firstly, I ran flutter --version, and received:

Flutter • channel alpha • https://github.com/flutter/flutter.git Framework • revision e2f54df5ab (9 days ago) • 2017-06-02 10:43:54 -0700 Engine • revision 1f2aa07571 Tools • Dart 1.24.0-dev.3.0 

Not sure what exactly it means by "to see which flutter is on your path". Next I ran flutter doctor and got:

[✓] Flutter (on Linux, locale en_US.UTF-8, channel alpha)     • Flutter at /home/christopher/.flutter-sdk     • Framework revision e2f54df5ab (9 days ago), 2017-06-02 10:43:54 -0700     • Engine revision 1f2aa07571     • Tools Dart version 1.24.0-dev.3.0  [✗] Android toolchain - develop for Android devices     ✗ ANDROID_HOME = /opt/android-sdk       but Android SDK not found at this location.  [✓] Android Studio (version 2.3)     • Android Studio at /usr/local/android-studio     • Gradle version 3.2     • Java version: OpenJDK Runtime Environment (build 1.8.0_112-release-b06)  [✓] Connected devices     • None 

However, if I cd into /opt/android-sdk I get:

➜  ~ cd /opt/android-sdk  ➜  android-sdk ls add-ons  build-tools  emulator  platforms  tools 

So it looks like it is there. The closest question I could find is this one: React Native android build failed. SDK location not found but it seems to be using Mac as opposed to arch as well as some other differences. How can I resolve the flutter doctor and have my app run?

like image 442
Dair Avatar asked Jun 11 '17 16:06

Dair


People also ask

How do I fix Android SDK not found?

Quick fix: Go to the Tools –> SDK manager –> SDK tools. Deselect Hide obsolete packages option on the right bottom and further install Android SDK Tools(obsolete). A new folder named Tools is now generated in the SDK directory. (C:\Users\..

Can I use Android SDK in flutter?

Flutter Native Third-Party SDK-UI integrationYou can directly call native Android and iOS SDKs of Tokbox chat app from your Flutter application — wherein the UI will be driven by Tokbox SDKs.


1 Answers

I was running with the same problem when I was trying the flutter doctor command:

enter image description here

The problem is a little clear, it's occurring because the flutter is not founding the path for your Android SDK.

There are two ways to solve it:

  • You can solve this issue setting only for your current terminal instance the SDK path with the following commands:

    flutter config --android-sdk /path/to/android/sdk

    flutter config --android-studio-dir /path/to/android/studio

  • Or to save it forever, exporting the ANDROID_HOME with your Android sdk path.

I solved it by exporting the ANDROID_HOME on my machine (Arch Linux, but this works for any Unix instance).

This will solve your issue, But you can need the sdk, platform-tools, tools and the ndk-build paths too (of course, everything needs to be installed first) on my profile file (in my case the .zshrc file, the same can be done on your .bashrc and etc.):

#SDK exporting - this will solve your issue export ANDROID_HOME=/home/{user}/Android/Sdk   #Tools exporting - it can be need in your case export PATH=/home/{user}/Android/Sdk/platform-tools:$PATH export PATH=/home/{user}/Android/Sdk/tools:$PATH export PATH=/home/{user}/Android/ndk-build:$PATH  #Flutter binary exporting export PATH=/home/{user}/flutter/bin:$PATH 

Then, I reloaded my profile file (that in my is the .zshrc file, use your file in your case .eg .bashrc):

source ~/.zshrc 

After that, the flutter doctor will run properly.

enter image description here

like image 97
valdeci Avatar answered Sep 30 '22 12:09

valdeci