Posizione dell'SDK non trovata. Definire la posizione con sdk.dir nel file local.properties o con una variabile di ambiente ANDROID_HOME


271

Di recente ho provato a importare giochi Android di esempio che ho scaricato dal sito Web degli sviluppatori di Google. Dopo averli importati in Android Studio, visualizzo il seguente errore:

Errore: posizione SDK non trovata. Definire la posizione con sdk.dirnel file local.properties o con una ANDROID_HOMEvariabile di ambiente.

Cos'è questo? Voglio eseguire i programmi di esempio da Android Studio.



Risposte:


246

Nel progetto potrebbe mancare un settings.gradlefile. Assicurarsi che il file esista dal progetto che si sta importando. In caso contrario, aggiungere il settings.gradlefile con il seguente:

include ':app'

Salvare il file e inserirlo nella cartella di livello superiore nel progetto.


16
Come posso sapere se manca il mio progetto settings.gradle? Dove si trova di solito quel file? Dove scrivo include ':app'? Cosa fa esattamente include ':app'/ genera? Potete per favore aggiungere maggiori dettagli alla vostra risposta?
Tot Zam,

1
@TotZam è archiviato nella radice del tuo progetto
Joseph

2
Trovato. Grazie. Per riferimento futuro, dove dovrei correre include ':app'? Sono abbastanza nuovo per Android e sto cercando di orientarmi.
Tot Zam,

2
Non si esegue include :app, se si utilizza Android Studio, ciò consente ad Android Studio di aggiungere il modulo di progetto in modo da poterlo eseguire senza ulteriore configurazione. Dopo aver aggiunto la riga settings.gradle, noterai che il Playpulsante diventa attivo dopo che Gradle termina la costruzione e il download dei pacchetti
Joseph,

1
Inserisci il nome della cartella del tuo progetto anziché 'app' se è diverso. Funziona.
Priyank Patel,

246

Seguire i passaggi seguenti per me funziona:

  • Vai al tuo progetto di reazione nativo, quindi vai alla directory Android Crea un file con il seguente nome:

local.properties

  • Apri il file e incolla il percorso del tuo SDK Android come di seguito:

Per gli utenti di Windows:

sdk.dir=C:\\Users\\UserName\\AppData\\Local\\Android\\sdk

Sostituisci UserName con il nome utente del tuo PC. Assicurati anche che la cartella sia sdk o Sdk. Nel mio caso il nome utente del mio computer è Zahid, quindi il percorso è simile a:

sdk.dir=C:\\Users\\Zahid\\AppData\\Local\\Android\\sdk

Per utenti Mac:

sdk.dir = /Users/USERNAME/Library/Android/sdk

Dove USERNAME è il tuo nome utente OSX .

Per utenti Linux (Ubuntu):

sdk.dir = /home/USERNAME/Android/Sdk

Dove username è il nome utente linux (percorsi di Linux sono case-sensitive: assicurarsi che il caso di Sin Sdkpartite)

Se non funziona, aggiungi la variabile ANDROID_HOME in "Variabili d'ambiente" come C:\Users\USER\AppData\Local\Android\Sdk

inserisci qui la descrizione dell'immagine


sto lavorando con open cv cosa devo fare per aggiungere NDK?
Innocente

Ha aiutato. In realtà questa soluzione è suggerita nella stessa formulazione dell'errore. Uso IntelliJ su Mac e nella struttura del progetto ho il percorso corretto dell'SDK. Perché allora ho ancora bisogno di ciò in local.properties?
Alexei Martianov,

158

So che questa risposta è in ritardo, ma spero che aiuti gli altri.

La risposta è semplice Devi solo copiare il tuo local.propertiesfile nella cartella in cui è archiviato il progetto e funzionerà come un fascino. Ma ricorda, deve essere collocato nella cartella principale in cui è archiviato il progetto.


3
Ma devo copiarlo ogni volta? Sembra un trucco piuttosto che l'approccio corretto
pblead26

È la soluzione più semplice per questo problema in quanto non è necessario modificare nulla nel progetto. Esistono anche altre soluzioni in cui è necessario apportare modifiche al codice, ma penso che per tale problema non ci si possa permettere di perdere molto tempo.
Harsh Mittal,

Questo ha funzionato per me quando ho avuto questo problema dopo aver scaricato ExoPlayer 2.1.
user1147171

2
Funziona, ma Intelij non dovrebbe generarlo automaticamente? tks!
cesarsicas,

4
Questo non funziona per me. Il file è presente, ma ho ancora l'errore
rommex,

42

Questo problema si verifica quando si tenta di importare un progetto Android Studio dal file ../app/build.gradle .

Importare il progetto selezionando il file ../build.gradle situato nella directory principale del progetto.


39

Per favore, segui i seguenti punti: funziona per me:

  1. Vai al tuo Project -> Android
  2. Crea un file local.properties
  3. Apri il file
  4. Incolla il tuo percorso SDK Android in base al sistema operativo:

    4.a Windows

    sdk.dir = C:/Users/USERNAME/AppData/Local/Android/sdk

    4.b Linux o MacOS

    sdk.dir = /home/USERNAME/Android/sdk

    Sostituisci USERNAMEcon il tuo nome utente


È troppo tardi per commentare, ma voglio sapere come farlo in MacOS?
Nauman Moazzam,

in MacOS devi fare la stessa procedura, devi solo trovare il percorso del tuo file SDK Android e incollarlo nel file local.properties ... tutto qui
Shuvo

37

Dai un'occhiata al tuo file local.properties

sdk.dir=C\:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk

scrivere correttamente questo formato e anche controllare / slas usando per il percorso


Ho modificato local.properties con questo sdk.dir = C: \\ Users \\ sameer \\ Android \\ adt-bundle-windows-x86-20140702 \\ sdk, qualsiasi errore in questo
Sameer Shamsudeen,

sì, dopo che C ha messo \ ... Svae con questa speranza fatta. sdk.dir = C \: \\ Users \\ sameer \\ Android \\ adt-bundle-windows-x86-20140702 \\ sdk
Qutbuddin Bohra,

Funziona bene con Eclipse. Basta creare il file local.properties all'interno del progetto scaricato e incollare sdk.dir. Nel mio caso era: "sdk.dir = C \: \\ adt-bundle-windows-x86_64-20140321 \\ sdk"
George Papatheodorou,

se qualcuno di fronte non hanno accettato gli accordi di licenza ... di errore dopo il passaggio precedente vedi qui stackoverflow.com/a/41078173/1778834
yashhy

Ho installato Android su Windows 10 m / c ma non esiste una cartella simile sdk.dir = C \: \\ Users \\ USERNAME \\ AppData \\ Local \\ Android?
Rohan Gala,

27

Ecco una soluzione al problema quando si fa clic su "Esegui app" (freccia verde) e si ottiene quanto segue nella finestra di dialogo Modifica configurazione :

Errore: selezionare Android SDK

In Android Studio, esegui:

  1. Dal menu, scegliere File > Settings.
  2. Nella finestra di dialogo delle impostazioni, vai a Appearance & Behavior > System Settings > Android SDK.
  3. Guarda in alto per Posizione SDK Android e fai clic sul Editpulsante
  4. Premi Avanti, Avanti, Fine per accettare le impostazioni predefinite

Questo sembra salvare la posizione dell'SDK - anche se nulla è cambiato - in una posizione interna. Ho controllato le cartelle .ideae .gradlema non ho visto cosa ha fatto Studio per modificare un file di configurazione, ma ora posso eseguire l'app.

E per riassumere le correzioni precedenti: normalmente sono OK per un repository senza problemi di build:

  • Il file local.properties viene copiato nella cartella principale da Studio.

  • Il percorso nel file local.properties ha il percorso corretto per l'SDK di Android - nel mio caso lo è sdk.dir=C:\\android\\sdk (nota che questo percorso ha un formato diverso - Studio dovrebbe scrivere questo file per te in base al campo di immissione del testo nelle impostazioni dell'SDK di Android dialogo)

  • Il file settings.gradle è presente nel repository e fa riferimento alla cartella dell'applicazione (in genere: app)


3
Questa è l'unica cosa che mi ha aiutato. I passaggi 3 e 4 sono molto importanti
soshial

16

Se hai questo problema quando tiri un progetto di reazione nativo, devi solo aprire il progetto Android con Android Studio. Tutto ciò di cui hai bisogno verrà creato automaticamente.

  • Apri Android Studio
  • File -> Apri
  • Scegli la androidcartella nella cartella del tuo progetto nativo
  • Attendi che AndroidStudio completi la configurazione
  • Ora puoi chiudere Android Studio

O

Se hai installato il launcher della riga di comando di AndroidStudio :

  • Esegui questo nella tua cartella radice nativa di reazione
studio android/
  • Attendi che AndroidStudio completi la configurazione
  • Ora puoi chiudere Android Studio

1
Funziona per me
Vikram Rajput,

12

In Linux:

Se hai già scaricato Android SDK ma non è stato trovato.

Il problema potrebbe essere che il file local.propertiesdeve trovarsi nella stessa directory di gradleroba per gradletrovarlo durante la creazione e l'esecuzione di adb.

Per il mio progetto reattivo nativo gradleho dovuto mettere il local.propertiesfile nella Myprojectname/android/cartella.

Dato che avevo decompresso l'SDK in Download, ho usato quel percorso nel file con una riga come questa:

sdk.dir=/home/USER/Downloads/android-sdk-linux

11

Ho risolto questo problema creando la variabile d'ambiente ANDROID_HOME come segue in Windows.

ANDROID_HOME=C:\Users\<user_name>\AppData\Local\Android\sdk

Ricomincia Android Studio dovrebbe creare progetto!


Avevo già un ANDROID_SDK che punta alla stessa directory, quindi per me lo eraANDROID_HOME=$ANDROID_SDK
Martijn

10

Ho riscontrato lo stesso problema, ma è un messaggio di errore leggermente diverso

Posizione dell'SDK non trovata. Definire la posizione con una variabile d'ambiente ANDROID_SDK_ROOT o impostando il percorso sdk.dir nel file delle proprietà locali del progetto su "xxx"

MAC e ReactNative

Inserisci local.properties

  1. Trova la tua posizione SDK Android

    /Users/yourMacUserName/Library/Android/sdk
  2. Crea local.propertiessotto rootProject/android/local.properties.

  3. Aggiungi il percorso sdk al suo interno

    sdk.dir = /Users/yourMacUserName/Library/Android/sdk

Normalmente funziona, ma se stai lavorando in una squadra con altri membri della squadra, allora yourMacUserName è diverso.

O

Imposta ANDROID_SDK_ROOTvariabile

  1. Modifica il tuo ~/.zshrco ~/.bashrco ...
  2. Aggiungi percorso SDK:

    export ANDROID_SDK_ROOT=$HOME/Library/Android/sdk
  3. Aprire una nuova scheda del terminale o source ~/.zshrc
  4. echo $ANDROID_SDK_ROOT per testare il percorso SDK corretto per la stampa.

In alternativa, puoi anche aggiungere il tuo percorso per utilizzare alcuni comandi utili.export PATH=${PATH}:$ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/platform-tools


9

Se stai tentando di eseguire il codice di esempio Android di Google, prova a importare l'intero repository anziché un singolo campione .

Ecco la sezione pertinente di istruzioni.html , inclusa con il codice di esempio dell'API di Google Calendar

  • Importa progetto calendario-android-campione
    • Seleziona "Importa progetto ..." o File> Importa progetto ...
    • Seleziona [someDirectory] /google-api-java-client-samples/build.gradle e fai clic su OK.
      • Nota: non funzionerà se si tenta di importare [someDirectory] /google-api-java-client-samples/calendar-android-sample/build.gradle
    • Selezionare "Usa distribuzione gradle locale" con "Gradle home" di [someDirectory] /gradle-2.2.1 e fare clic su OK.

6

Non esiste un solo motivo per questo errore.

  1. settings.gradle potrebbe mancare o il contenuto potrebbe essere errato.
  2. local.properties potrebbe mancare o il percorso sdk potrebbe essere scritto in modo errato.

1
che tipo di contenuto dovrebbe essere nel file settings.gradle?
Cabanni,

@cabanni settings.gradle include solo il modulo nella tua applicazione. Per impostazione predefinita sarà il modulo 'app'. Spero che sia d'aiuto /
Arhat Baid,

5

Basta rimuovere la cartella .idea e importare nuovamente il progetto. Ha funzionato per me.


4

creare un file local.properties nella directory principale del progetto con il seguente contenuto

## This file is automatically generated by Android Studio.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must *NOT* be checked into Version Control Systems,
# as it contains information specific to your local configuration.
#
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
#Tue Oct 24 17:40:53 CEST 2017

sdk.dir=/Users/****/Library/Android/sdk

4
  1. Vai al tuo progetto nativo di React -> Android
  2. Crea un file local.properties

  3. Apri il file

  4. incolla il tuo percorso SDK Android come di seguito

     in Windows sdk.dir = C:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk
    
     in macOS sdk.dir = /Users/USERNAME/Library/Android/sdk
    
     in linux sdk.dir = /home/USERNAME/Android/Sdk
  5. Sostituisci USERNAME con il tuo nome utente

  6. Ora, esegui il run-android reattivo nativo nel tuo terminale

o

A volte nel progetto potrebbe mancare un file settings.gradle. Assicurarsi che il file esista dal progetto che si sta importando. In caso contrario aggiungere il file settings.gradle con il seguente:

    include ':app'

Salvare il file e inserirlo nella cartella di livello superiore nel progetto.


3

metti queste due righe nel tuo file .bashrc ed esegui source ~/.bashrc

export ANDROID_HOME=/Users/$USER/Library/Android/sdk export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

Per Linux l'ho fatto. (Per la prima riga)

export ANDROID_HOME=/home/$USER/Android/Sdk

2

il modo migliore e più semplice è quello di creare un nuovo progetto Android spostare la cartella "app" dal progetto non funzionante a quello appena creato e aggiungere le dipendenze necessarie nel gradiente del nuovo progetto e tutto funzionerà perfettamente)


Ciò ha corretto il problema sia su Mac High Serria che su Windows 10. Ottima risposta ed efficiente.
Val

2

Se tutto il resto fallisce, copia il local.propertiesfile nella radice della directory del progetto. Semplicemente.



2

Questa soluzione funziona davvero per me .. vai su questo pc -> proprietà -> impostazioni di sistema avanzate -> variabili di ambiente -> quindi nella variabile di sistema crea una nuova variabile con nome ANDROID_SDK_ROOT e valore C: \ Users {USERNAME (sostituiscilo con il tuo nome utente } \ AppData \ Local \ Android \ Sdk

e assicurati che se il vero cellulare Android che utilizza il debug USB è abilitato. (molto importante)

quindi chiudere cmd e riavviare dovrebbe funzionare.


2

Nel mio caso, ho dovuto chiudere Project e riaprirlo. Ha funzionato bene. Come questo

Chiudi progetto

inserisci qui la descrizione dell'immagine

E ancora Apri progetto ancora

inserisci qui la descrizione dell'immagine


Dopo aver aggiunto il percorso sdk.dir e anche a ~ / .bashrc, nulla ha funzionato. Ma poi ho chiuso e riaperto e ha funzionato. Grazie!
GRC


1

Ho ricevuto questo errore dopo aver appena clonato un repository. Mi aspettavo che local.properties fosse generato automaticamente, ma non lo era. Sono stato in grado di generarlo reimportando il progetto Gradle.

File > Re-import Gradle Project

Questo ha aiutato. Dopo l'avvio di "Re-import Gradle Project", sono stati stampati sulla console i seguenti 2 errori che mi hanno aiutato a rilevare il problema: Rilevata configurazione JDK Gradle non valida , Project JDK non è stato specificato . Quindi tutto ha iniziato a funzionare dopo aver corretto il percorso JDK in Impostazioni.
Michal Vician,

Dopo aver corretto il percorso JDK, ho dovuto anche riavviare l'IDE con l'opzione "File> Cache / Riavvio non valide ...".
Michal Vician,

1

Chiunque utilizzi Jenkins, potrebbe ottenerlo utile

È necessario definire un nome di variabile globale ANDROID_HOME con il valore del percorso di Android SDK.

Per Mac, lo è /Users/YOUR_USER_NAME/Library/Android/sdk


1

stavo pensando che il tuo file setting.gradle sia mancante. Copia questo file un altro progetto e incolla il tuo progetto. Funzionerà credo.

nel file setting.gradle,

include ':app'

È tutto. Buona giornata.


1

Per me il problema era che non avevo creato alcun dispositivo virtuale dopo una nuova installazione di Android Studio. Quindi, l'Expo ha continuato a lamentarsi vagamente della posizione di SDK mentre il problema principale erano i dispositivi virtuali mancanti. Spero che questo aiuti qualcuno in futuro, mi ha fatto cercare per un paio d'ore.

PS: qui puoi scoprire come crearne uno https://developer.android.com/studio/run/managing-avds


0

Controllare, 1. Nelle impostazioni del modulo, se la posizione dell'SDK è corretta. 2. Se Sì, controlla il file local.properties (non quello inserito nel modulo dell'app, ma quello posizionato all'esterno del modulo dell'app, a livello padre). Se non presente aggiungilo con le righe sottostanti al suo interno.

sdk.dir=/path/to/sdk/../Android/Sdk

0

Ho appena affrontato il problema quando ho clonato il mio repository da Github e sono corso ./gradlew clean assembleDebug. Confermo di avere ANDROID_HOME nel mio file .bashrc.

Quindi, ho importato il progetto in Android Studio. Notato che l'estensione del mio file settings.gradle è .kts, settings.gradle.kts. Quando ho terminato l'importazione, ho eseguito ./gradlew clean assembleDebuge non ho riscontrato alcun problema.


0

Provai

sdk.dir = \Users\OLUWAGBEMIGA\AppData\Local\Android\sdk 

e ha funzionato, l'ho semplicemente incollato nella cartella del progetto e all'esterno.

Nella variabile d'ambiente ho anche usato il link sdk sopra e il nome ANDROID_HOMEcome nome del percorso. Chiudi tutto riaprendo e Cabom ha funzionato tutto

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.