Ho un errore quando inizio a eseguire Android
What went wrong:
A problem occurred evaluating project ':app'.
> SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.
Ho un errore quando inizio a eseguire Android
What went wrong:
A problem occurred evaluating project ':app'.
> SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.
Risposte:
android/
directory del tuo progetto di reazione nativolocal.properties
con questa linea:sdk.dir = /Users/USERNAME/Library/Android/sdk
Dov'è il USERNAME
tuo nome utente macOS
sdk.dir = C:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk
local.properties
incolla il tuo percorso SDK Android come di seguito
sdk.dir = C:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk
sdk.dir = /Users/USERNAME/Library/Android/sdk
sdk.dir = /home/USERNAME/Android/Sdk
Sostituisci USERNAME
con il tuo nome utente
Ora, esegui il react-native run-android
nel tuo terminale.
sdk.dir=/home/USERNAME/Android/Sdk
Puoi provare ad aggiungere ANDROID_PATH
export ANDROID_HOME=/Users/<username>/Library/Android/sdk/
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
ANDROID_PATH
in ambiente (Ubuntu, file .bashrc). Tuttavia, per alcuni motivi sto ancora riscontrando il problema. L'ho risolto creando local.properties
e inserendo il percorso come indicato in altre risposte.
local.properties
fatto, tuttavia.
Apri ~/.bash_profile
e aggiungi:
export ANDROID_HOME=~/Library/Android/sdk/
export PATH=$PATH:~/android-sdks/platform-tools/
export PATH=$PATH:~/android-sdks/tools/
source ~/.bash_profile
per rendere effettive le nuove linee di esportazione.
NON AGGIORNARE local.properties
, è sicuramente una cattiva pratica.
Ecco come l'ho risolto. Aggiungi quanto segue in ~/.bash_profile
o ~/.bashrc
.
export ANDROID_HOME=/usr/local/share/android-sdk
export PATH=$ANDROID_HOME/tools:$PATH
export PATH=$ANDROID_HOME/platform-tools:$PATH
export PATH=$ANDROID_HOME/build-tools/23.0.1:$PATH
Nota: ho usato brew cask
per installare Android SDK seguendo queste istruzioni .
echo "sdk.dir = /Users/$(whoami)/Library/Android/sdk" > android/local.properties
Se ti trovi su Windows Esc (aggiungi barre rovesciate) le barre rovesciate e i due punti nel android/local.properties
file. Se non è lì, crealo
sdk.dir = C\:\\Android\\sdk
Passaggi aggiornati per React Native0.58 per iniziare su MAC / Unix
nano ~ / .bash_profile
export ANDROID_HOME = $ HOME / Libreria / Android / sdk
export PATH = $ PATH: $ ANDROID_HOME / emulatore
export PATH = $ PATH: $ ANDROID_HOME / tools
export PATH = $ PATH: $ ANDROID_HOME / tools / bin
export PATH = $ PATH: $ ANDROID_HOME / platform-tools
Control+S to save
Control+X to exit
Y to save changes
source ~/.bash_profile
echo $PATH
adb devices
Per utenti Windows
Una soluzione semplice è impostare il percorso dell'SDK sull'elenco delle variabili di ambiente.
Nota:
Il tuo Android Sdk si trova generalmente in
C: \ Users \ YourUserName \ AppData \ Local \ Android \ Sdk
Assicurati di chiudere il tuo terminale attuale perché il tuo terminale contiene tutte le variabili d'ambiente preesistenti.
Il tuo progetto non sta trovando l'SDK impostato nelle Impostazioni del progetto tramite il percorso fornito, quindi il progetto deve puntare nella giusta direzione e hai un paio di opzioni per farlo, ma iniziamo prima trovando la cartella SDK corretta.
Da Gestione pacchetti
Se stai usando un'installazione JRE basata su pacchetti come Java 8 JRE tramite un PPA personalizzato in una distribuzione basata su Debian, o hai usato OpenJDK , la directory molto probabilmente sarà / usr / lib / jvm / java-8-oracle (o qualunque versione tu abbia scelto). È possibile trovare questo percorso impostato nella variabile di ambiente JAVA_HOME :
$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle
Download manuale
Se è stato installato tramite il download Java JRE / SDK , sarà ovunque sia stata posizionata la cartella, ad esempio / home / nomeutente /jdk-8u121_1.8.0 (o qualcosa di simile).
Le installazioni con script possono persino aggiungere l'SDK a / opt / java-8-oracle , ma al momento della stesura di questo documento, le istruzioni di installazione Java lasciano il posizionamento della cartella nelle tue mani.
Android Studio 2.2
Infine, se si utilizza Android Studio, l'SDK viene posizionato nel punto in cui è stato impostato per posizionare i file SDK scaricati tramite Gestione SDK di Studio. Andando su File> Impostazioni> Aspetto e comportamento> Impostazioni di sistema> SDK Android , puoi trovare l'impostazione della posizione dell'SDK in alto con l'opzione per cambiare e la cartella predefinita è ~ / Android / Sdk .
Ora che sappiamo dove si trova l'SDK, è tempo di far sapere a React-native.
Opzione 1: impostare con local.properties
Questo metodo è molto semplice e tutto ciò che serve è creare il file local.properties nella seguente cartella, dove Project_Folder è la base della tua applicazione React-Native:
Project_Folder / Android / app
In local.properties, si desidera impostare la variabile sdk.dir sul percorso della cartella SDK:
sdk.dir=/home/username/Android/Sdk
Sebbene questo sia il modo più semplice per risolvere il problema, non è il migliore, specialmente se lavori con più progetti. Per ogni progetto, dovrai creare questo file per ogni progetto e se la cartella cambia pianifica di cambiare questo file per local.properties di ogni progetto.
Una volta salvato il file, rieseguire il comando run-android di reazione nativo .
Opzione 2: Cartelle delle impostazioni con variabili di ambiente
L'altra opzione è impostare le cartelle SDK sulle variabili di ambiente locali che React-Native cerca per impostazione predefinita. Per fare ciò, aggiungeremo il percorso ANDROID_HOME. Come bonus possiamo anche aggiungere i nostri strumenti Android nello stesso posto. Dobbiamo aggiungere questo piuttosto ai file .bash_profile o .profile nella nostra directory home, che vengono caricati per ultimi, in modo da poter fare in modo che nient'altro sovrascriva le impostazioni che eseguiamo. Dal momento che questi sono nella tua home directory, non è necessario modificarli con i privilegi di escalation.
**$ vim ~/.profile** (use nano or pico if you prefer)
Nel file aggiungi le seguenti righe sostituendo la cartella SDK con quella che hai trovato sopra. Userò la cartella Android Studio come esempio:
export ANDROID_HOME="~/Android/Sdk"
export PATH=$PATH:~/Android/Sdk/tools:~/Android/Sdk/platform-tools
Salvare il file, quindi applicare le impostazioni del profilo:
$ source ~/.profile
$ echo $ANDROID_HOME
/home/dbrown/Android/Sdk
Se la cartella Sdk mostra correttamente, congratulazioni! Riesegui il tuo comando di reazione nativo e guarda il processo di compilazione dell'app continuare.
Se hai ancora problemi
Se per qualche motivo viene visualizzato l'errore " > non è stato possibile trovare la destinazione con la stringa hash 'android-23' nella cartella / sdk / , è necessario assicurarsi che la versione di build del progetto e la versione dell'SDK corrispondano (React -Native di default su 23.0.1) Puoi trovare la versione predefinita in Project_Folder / android / app / build.gradle , e quindi cercare buildToolsVersion . Puoi ovviamente cambiare la versione da questo file, oppure in Android Studio vai su File > Struttura del progetto per modificare l' SDK del progetto . Non consiglierei di cambiare questa versione a meno che tu non sappia assolutamente cosa stai facendo, altrimenti installa la versione dell'SDK che il progetto sta cercando.
Su Ubuntu, dove devi ottenere SDK separatamente da Android Studio strano il percorso funzionerà con Android Studio ma con React Native, dovrai creare un nome file local.properties
.
Ad esempio inn ~/AwesomeProject/android
e inserisci questa riga:
sdk.dir=/path/to/sdk/in/your/computer
Elimina il local.properties
dalla cartella Android nel tuo progetto di reazione e provalo.
L'ho fatto e ci sono riuscito.
Questo ha funzionato per me.
Sto prendendo React Native di Stephen Grider su Udemy e uno degli studenti ha pubblicato questo post nella Lecture 50. Incollato alla riga di comando (senza "$" ovviamente).
$ export "ANDROID_HOME=/usr/local/opt/android-sdk" >~/.bash_profile
> The SDK directory '/usr/local/opt/android-sdk' does not exist.
La migliore soluzione che posso trovare è la seguente:
Ecco come apparirà il file gradle:
Se tutto è andato bene con la configurazione della tua macchina e puoi compilare il progetto usando Android Studio, allora nulla ti fermerà per costruire la tua app tramite il comando android build nativo di reazione.
Con questo approccio, non solo risolverai il problema dell'SDK, ma risolverai anche molti problemi relativi alla configurazione della tua macchina per lo sviluppo Android. L'importazione troverà automaticamente la posizione dell'SDK e creerà local.properties. Quindi non devi preoccuparti di interventi manuali.
Per utenti Linux
La tua app non sta ottenendo il percorso di Android-SDK, quindi se stai usando Linux (Ubuntu), allora devi aggiungere un file chiamato "local.properties" e salvarlo nella cartella Android, che viene creata nella cartella della tua app .
È necessario aggiungere la riga di seguito all'interno del file local.properties, che è il percorso del tuo Android-SDK all'interno del sistema all'interno del sistema per eseguire l'app.
sdk.dir=/opt/android-sdk/
salva ed esegui nuovamente il comando reag-native run-android
O
puoi aprire il terminale, digitare
sudo nano ~ / .bashrc
e incolla il percorso seguente alla fine del file
export ANDROID_HOME = "/ opt / android-sdk /"
e riavvia il computer ed esegui di nuovo reag-native run-android dopo.
Nota: - Se si inserisce set path nel file .bashrc, non è nemmeno necessario creare il file local.properties.
Se si crea e si android studio
proietta, è possibile visualizzare un local.properties
file creato nella directory principale del progetto. Quando crei un progetto nativo reattivo, non crea quel file per te. Quindi devi crearlo manualmente. E devi aggiungere skd dir ad esso. Quindi crea un nuovo file all'interno della cartella Android (su root). e metti il tuo percorso sdk in questo modo
sdk.dir=D\:\\Android\\SDK\\android_sdk_studio .
Ricorda: rimuovi single \ con double. Proprio come sopra.
Esistono 2 modi per risolvere questo problema:
Esegui semplicemente il tuo progetto Android nativo reattivo nello studio Android genererà automaticamente il tuo file local.properties nel progetto nativo reattivo Android.
un. Vai a Progetto nativo di React -> Android
b. Creare un file local.properties
c. Apri il file
d. Incolla il tuo percorso SDK Android come di seguito
Nella tua directory di progetto c'è una cartella chiamata "android" e al suo interno c'è il file local.properties. Elimina il file e la compilazione dovrebbe essere eseguita correttamente
Se manca il file local.properties, creane uno nella cartella "project / android" con 'sdk.dir = / Users / apple / Library / Android / sdk' e assicurati che il tuo SDK sia in quella posizione.
per la creazione di un file con estensioni personalizzate su mac fare riferimento al seguente link
Come posso salvare un file TextEdit (mac) con un'estensione personalizzata (.sas)?
Esistono due file gradle, cambia quello all'interno del tuo C: \ myapp \ android \ build.gradle e non nella directory parent myapp.
Sostituire 23.0.1 con la versione di Android Build Tool installata nel mio caso 25.0.0
Esegui reattivo nativo run-android per vedere la tua app nell'emulatore.
Basta aprire la cartella Android nel progetto di Android Studio . Android Studio crea il file necessario (local.properties) e scarica la versione SDK per eseguire Android necessario.
Il problema è che hai configurato male le variabili di ambiente. Devi usare (in Windows) l'SDK di:C:\Users\YOUR_USERNAME\AppData\Local\Android\Sdk
Per maggiori informazioni: https://facebook.github.io/react-native/docs/getting-started
Selezionare: Riattiva avvio rapido CLI nativo nella sezione Ambiente di sviluppo Android al punto 3. Configurare la ANDROID_HOME
variabile di ambiente
Se lo fai come lo hai in questo momento, devi configurare ciascun progetto in modo da utilizzare le variabili di ambiente e se il progetto è tra più persone con le loro apparecchiature, può causare un problema. Se lo fai come ti ho detto, non dovrai configurare alcun progetto.
Se hai Android Studio installato, apri semplicemente Project/android
Android Studio e ti verrà notificato di cambiare il percorso della posizione dell'SDK nel progetto.
Copia l'altro progetto Android local.properties del tuo sistema e incollalo nella cartella Android del progetto nativo di React che funzionerà.
sdk.dir=C\:\\Users\\paul\\AppData\\Local\\Android\\Sdk