web-dev-qa-db-fra.com

Android SDK ne peut pas être trouvé par flutter

J'ai installé flutter par AUR. J'ai aussi aur/Android-sdk 26.0.2-1 installé. Quand je lance flutter run je reçois:

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.

Tout d'abord, j'ai exécuté flutter --version et reçu:

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

Vous ne savez pas exactement ce que cela veut dire par "pour voir quel battement est sur votre chemin". Ensuite, j'ai exécuté flutter doctor et obtenu:

[✓] 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

Cependant, si je cd dans /opt/Android-sdk je reçois:

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

Donc, on dirait que c'est là. La question la plus proche que j'ai pu trouver est la suivante: Réagir: échec de la construction d'Android native. Emplacement du SDK introuvable mais il semble utiliser Mac plutôt que Arch, ainsi que d'autres différences. Comment puis-je résoudre le flutter doctor et faire exécuter mon application?

5
Dair

Si vous utilisez Android Studio 3, vous pouvez configurer votre SDK de plate-forme en allant dans Fichier -> Structure du projet et en choisissant votre sdk de plate-forme. 

J'espère que cela fonctionne pour toi. 

 enter image description here

18
kepung

J'exécutais le même problème lorsque j'essayais la commande flutter doctor:

 enter image description here

Vous pouvez résoudre ce problème de problème uniquement pour votre chemin SDK d'instance de terminal actuel à l'aide des commandes suivantes:

flutter config --Android-sdk /path/to/Android/sdk
flutter config --Android-studio-dir /path/to/Android/studio

Ou exportez le Android_HOME avec votre chemin d'accès sdk Android.

Je l'ai résolu de cette façon sur ma machine (Arch Linux, mais cela fonctionne pour toute instance Linux) en exportant le Android_HOME avec mon chemin d'accès au sdk Android. 

Cela résoudra votre problème, mais vous pouvez aussi avoir besoin des chemins sdk, platform-tools, tools et ndk-build (tout doit être installé en premier) sur mon fichier de profil (dans mon cas, le fichier .zshrc, la même chose peut être faite sur votre .bashrc et 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

Ensuite, j'ai rechargé mon fichier de profil (dans le fichier .zshrc, utilisez votre fichier dans votre cas .eg .bashrc):

source ~/.zshrc

Après cela, le flutter doctor fonctionne correctement.

 enter image description here

9
coderade

J'ai résolu ce problème avec la commande suivante flutter config --Android-sdk <sdk-location> Où est l'emplacement de votre sdk Si vous utilisez Windows, veillez à utiliser des guillemets doubles.

2
Ashwin Rawat

Flutter nécessite les outils de la plate-forme Android SDK afin de pouvoir utiliser l'outil de ligne de commande adb.

Il semble que vous ayez installé le SDK Android, mais vous n'avez pas encore installé les outils de la plateforme.

Voici le paquetage Android-sdk-platform-tools Aur pour Arch et un guide pour son installation.

Le message d'erreur pourrait peut-être être amélioré pour indiquer qu'il nous manque les outils de la plate-forme Android SDK plutôt que le SDK Android lui-même. Si vous le souhaitez, n'hésitez pas à envoyer une demande d'extraction ou à ouvrir un numéro .

1
Collin Jackson

j'ai résolu! Je mets mon SDK Android auparavant dans F:/androidsdk Ainsi, lorsque je lance " flutter config " Android sdk n'est pas lié . Pour lier flutter avec Android sdk, tapez simplement la commande ci-dessous:

flutter config --Android-sdk /path/to/Android/sdk

je change juste avec ça

flutter config --Android-sdk F:/androidsdk

j'espère que cela fonctionne.

Ce problème survient principalement lorsque vous utilisez un périphérique ou un émulateur sans Android SDK Platform.

quel que soit l'émulateur que vous utilisez, vous devez vérifier que le SDK Android correspondant est installé dans votre studio Android.

vérifiez ces versions et la version respective de la plate-forme Android sdk

si le message dit non installé, installez-les et essayez à nouveau Flutter Doctor.

0
Tanmay Bairagi

J'ai beaucoup souffert en essayant de trouver une solution et finalement j'ai trouvé la solution en configurant le SDK du projet.
Fichier -> Structure du projet, puis choisissez la plate-forme SDK.

0
Amgad Mahmoud

Il est dit que votre projet utilise deux chemins différents de flutter-sdk. Il existe deux endroits où les chemins SDK sont définis.

  1. Paramètre (Paramètre> Langue et cadres> Flutter> Chemin du SDK Flutter)

 enter image description here

  1. local.properties dans votre dossier racine

 enter image description here

Ces deux endroits doivent contenir le même chemin d'accès à sdk.Compile avec flutter run !! terminé !!

0
Iamat8

La solution de https://github.com/flutter/flutter/issues/15114#issuecomment-376582281 a fonctionné pour moi, cela a fonctionné après l'ajout de la variable $ Android_SDK_PATH\platform-tools à la variable du chemin d'accès utilisateur.

0
Enrico

Ça marche pour moi

flutter config --Android-sdk <path-to-your-Android-sdk-path>
0