PANICO: percorso del sistema AVD interrotto. Controlla il tuo valore ANDROID_SDK_ROOT


151

Dopo aver digitato il cordova run androidterminale, visualizzo questo errore:

Waiting for emulator to start...
PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value [/Users/username/Library/Android/sdk]!

Questo succede dopo l'esportazione:

export ANDROID_SDK_ROOT='/Users/username/Library/Android/sdk'

Prima di esportare ho ottenuto:

Waiting for emulator to start...
PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT

Qualche idea su dove sbaglio? Sono sicuro che questa è la radice SDK, quindi perché mi sto rompendo il percorso del sistema avd?



4
Sto affrontando lo stesso problema anche su Visual Studio durante la creazione di app multipiattaforma. Il mio messaggio di errore è1>PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT 1>Emulator Nexus_5X_API_23 cannot be started.
RBT

Ho appena aperto Android SDK manager e installato tutto ciò che era lì (Strumenti, Vari livelli API, Extra). Letteralmente! Ha risolto il mio problema. Tuttavia, ho affrontato ulteriori problemi dopo quello relativo alla tecnologia HAXM di Intel richiesta per l'esecuzione degli emulatori Android. Devono essere risolti in modo diverso.
RBT


2
Posso avviare l'AVD tramite Android Studio. Ottengo questo errore quando provo ad avviarlo dalla riga di comando. C'è errore PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value [/usr/local/share/android-sdk]!quando controllo quel percorso ->echo $ANDROID_SDK_ROOT /usr/local/share/android-sdk. Quindi, l'emulatore si arresta in modo anomalo anche se il percorso è corretto.
Mike S.

Risposte:


163

Potrebbero esserci diversi problemi quando si sposta l'AVD o l'SDK in un'altra directory o si sostituisce un vecchio SDK con uno nuovo o in qualche modo si danneggia l'SDK.

Di seguito descriverò tutti i possibili problemi che conosco e ti fornirò diversi modi per risolverli.

Ovviamente presumo che abbiate creato qualsiasi AVD, che si trova in C:\Users\<user_name>\.android\avd(Windows) o ~/.android/avd(Linux / MacOS).

Se ti sei spostato .androidin un'altra posizione, imposta la ANDROID_SDK_HOMEvariabile di ambiente sul percorso della directory principale contenente il tuo .androide assicurati che AVD Manager abbia trovato correttamente il tuo dispositivo virtuale.

Controlla anche i percorsi <user_home>/.android/avd/<avd_name>.ini


Struttura SDK incompleta / danneggiata

PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT
PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value

Questi 2 errori si verificano se l'emulatore non riesce a trovare l'SDK o se l'SDK è rotto.

Quindi, prima di tutto consiglio di rimuovere la ANDROID_SDK_ROOTvariabile. È necessario solo quando l'emulatore si trova al di fuori della directory SDK. Ma in generale, l'emulatore rimane all'interno della directory SDK. E in questo caso deve rilevare automaticamente la posizione dell'SDK . In caso contrario, probabilmente l'SDK ha un filetree errato. Si prega di fare quanto segue:

  1. Verificare che la directory SDK ha almeno questi 4 directory: emulator, platforms, platform-tools, system-images. È molto importante! Queste directory devono essere presenti. Se alcuni di essi non esistono, crea semplicemente dir vuoti.

  2. Vai a <user_home>/.android/avd/<avd_name>e apri config.ini. Trova la image.sysdir.1proprietà. Punta alla directory, all'interno della directory SDK, che contiene l'immagine di sistema effettiva. Assicurarsi che questa directory esista e contenga file come build.prop, system.imgecc. In caso contrario, è necessario aprire SDK Manager e scaricare le immagini di sistema richieste dall'AVD (vedere di seguito).

Se tutto è impostato correttamente, quando questi errori ANDROID_SDK_ROOTdevono essere spariti. In caso contrario, ora puoi provare a impostare la ANDROID_SDK_ROOTvariabile.


I pacchetti richiesti e HAXM non sono installati

Il prossimo problema che potresti incontrare è che l'emulatore inizia ad avviarsi, ma si blocca o si chiude immediatamente. Ciò significa probabilmente che non hai installato tutti i pacchetti richiesti.

Un altro possibile errore è:

Impossibile rilevare automaticamente un binario ADB. Alcune funzionalità dell'emulatore non funzioneranno finché non viene aggiunto un percorso personalizzato ad ADB nella pagina delle impostazioni estese.

Quindi, per avviare correttamente qualsiasi AVD devi essere sicuro che almeno questi pacchetti siano installati:

emulator (Android Emulator)
platform-tools (Android SDK Platform-Tools)
tools (Android SDK Tools)

E come ho già detto, è necessario installare immagini di sistema utilizzate dall'AVD, ad esempio system-images;android-25;google_apis;x86

Si noti che le versioni più recenti su SDK non hanno un sistema autonomo SDK Manager.exe. Invece di esso devi usare Android Studio o tools\bin\sdkmanager.bat(Linux / MacOS probabilmente hanno shfile).

Per elencare tutti i pacchetti disponibili usare sdkmanager --listosdkmanager --list --verbose

Per installare i pacchetti usare sdkmanager <package1> <package2> ...

Inoltre consiglio di installare manualmente HAXM sul tuo sistema.


I file Qcow2 si riferiscono a immagini di base errate / inesistenti

L'ultimo problema che menzionerò si verifica quando si tenta di spostare AVD o SDK da un computer o una directory a un altro. In questo caso potresti ricevere questo errore:

qemu-system-i386.exe: -drive if = none, overlap-check = none, cache = unsafe, index = 0, id = system, file = C:\Users\<old_user_name>\.android\avd\<avd_name>.

avd \ system.img.qcow2, sola lettura: impossibile aprire il file di backup: impossibile aprire ' <old_sdk_dir>\system-images\android-22\google_apis\x86\system.img': argomento non valido

Esistono 2 modi per risolverlo:

  1. Se non ti interessano i dati contenuti nell'AVD, elimina tutti i qcow2file dalla directory AVD (ad es. Da <user_home>/.android/avd/<avd_name>). In questo caso otterrai una versione pulita di Android, come dopo un hard reset.

  2. Se i dati sull'emulatore sono importanti per te, quindi apri tutti i qcow2file uno per uno utilizzando qualsiasi editor HEX (preferisco HxD ), trova il percorso di un imgfile di base e modificalo in quello corretto nella Overwritemodalità (per preservare il dimensione del file). Quindi selezionare il percorso e ottenere la sua lunghezza in esadecimale (ad es 2F.). 2Frappresenta la barra ASCII /. Mettilo in posizione 13:

Modifica i file Android qcow2 utilizzando l'editor HxD HEX

PS: Non sono sicuro, ma ci sono probabilmente alcuni programmi di utilità come qemu-img che consentono di impostare un'immagine di base diversa. Bene, per me è più semplice modificare manualmente il binario.


Ora probabilmente sarai in grado di avviare correttamente il tuo dispositivo virtuale Android. Lo spero :)


Un altro motivo può mancare hw.cpu.archin config.ini
daserge,

2
Ho seguito tutte le istruzioni e ho ancora rotto il percorso del sistema AVD.
tira l'

Eccezionale. Ben fatto con i file di base di qcow! Conosci un modo più generico di rebase i file qcow? Vorrei condividere il mio AVD con diverse persone ...
Amit Moran,

@daserge al i miei file '.ini' hanno uno strano formato (mancano le interruzioni di riga dopo ogni parametro), è normale / va bene?
J3STER,

1
Grazie, nel mio caso mancava la cartella degli strumenti della piattaforma, quindi l'ho installata con il comando tools/bin/sdkmanager "platform-tools". È stato così doloroso trovare ciò che era sbagliato a causa di questo stupido messaggio di errore ("PANIC: Impossibile trovare il percorso del sistema AVD. Definisci ANDROID_SDK_ROOT") che non dicesse chiaramente quale fosse il problema ...
baptx

129

Su Mac: avevo installato android-sdkutilizzando brewcosì come Android Studio. In qualche modo, avere 2 installazioni stava causando questo problema. Quando ho disinstallato la mia installazione brew di sdk usando brew cask uninstall android-sdke aggiunto i seguenti var al mio env. Ha funzionato.

export ANDROID_HOME=/Users/<Username>/Library/Android/sdk
export ANDROID_SDK_ROOT=$ANDROID_HOME

18
In precedenza avevo installato Android SDK usando brew mentre seguivo un tutorial su Nativescript. Dopo aver installato Android Studio ho scoperto che l'emulatore non si avviava. La tua correzione ha risolto il mio problema. Grazie!
Cocoanut,

2
Questo ha funzionato anche per me. Avevo anche installato android-sdkdurante l'installazione di NativeScript. L'emulatore si avvia direttamente da Android Studio ora, ma non tramite NativeScript (tns esegue Android)
Mudlabs,

3
Ha risolto il mio problema, ma senza eliminare la versione Android-SDK di brew.
mrisek,

1
gli strumenti da riga di comando sono obsoleti. La mossa migliore per il futuro è installare AS correttamente ed evitare il barile della birra facebook.github.io/react-native/docs/…
Harry Moreno,

1
Dopo molte ricerche, questo ha finalmente risolto il nostro problema. Grazie mille!!!
user3575337,

27

Questo risolverà il tuo problema in macOS:

pico ~/.bash_profile

export ANDROID_HOME=/Users/$USER/Library/Android/sdk
export ANDROID_SDK_HOME=/Users/$USER/Library/Android/sdk
export ANDROID_AVD_HOME=/Users/$USER/.android/avd
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_AVD_HOME

source ~/.bash_profile

4
Dopo aver provato molte cose, questa è stata l'unica opera, grazie mille: D
Alan Cordova,

Funziona perfettamente Grazie.
Herman Demsong,

@SundayOkoi va nella tua home directory
1800 INFORMAZIONI

Lo stesso con me. Questo funziona per me. Anche se ho apportato modifiche minori su questo.
Edper il

15

Rimozione dell'errore durante l'utilizzo dell'SDK Android di Homebrew come SDK predefinito

Come @EFreak ho installato android-sdk con homebrew (un gestore di pacchetti per Mac). Avevo bisogno di fare quanto segue per correggere l'errore, perché stavo seguendo i tutorial nativescript e ho riscontrato l'errore. Se ti piaccio intendi usare la versione brew rispetto alla versione android-sdk usa questa risposta (questo ti permetterà di usare tns run androidapi nativescripts api), e se vuoi lo studio Android predefinito Android-SDK segui la risposta di @EFreak.

Configurazione di Android Studio per utilizzare l'SDK Android di Homebrew

Fondamentalmente devi solo cambiare la tua posizione SDK Android in Android Studio. Prima apri un progetto in Android Studio. Quindi aprire Gestione SDK facendo clic su questo pulsante.

posizione pulsante gestore sdk android

Successivamente, quando vengono visualizzate le preferenze predefinite per il gestore dell'SDK Android, è necessario fare clic su Modifica accanto alla posizione dell'SDK Android.

inserisci qui la descrizione dell'immagine

Trovare la posizione dell'SDK Android di Homebrew

Successivamente è necessario aggiornare effettivamente la posizione di sdk nella schermata di configurazione dei componenti di sdk il mio brewandroid-sdk si trovava qui /usr/local/share/android-sdk. Puoi trovare dove è installato il tuo eseguendo brew cask info android-sdkquindi vicino alla parte inferiore dell'output che dovrebbe dire:

You can control android sdk packages via the sdkmanager command.
You may want to add to your profile:

  'export ANDROID_SDK_ROOT="/usr/local/share/android-sdk"'

Il valore della variabile exported ANDROID_SDK_ROOT(che qui è /usr/local/share/android-sdk) è la posizione di home-brew dell'androide sdk.

Quindi è necessario fare clic sul pulsante Posizione SDK Android (etichettato come 1 nell'immagine) e incollare nella posizione SDK Android di Homebrew.

inserisci qui la descrizione dell'immagine

Quindi basta completare la procedura guidata installando qualunque pacchetto. In questo passaggio avevo bisogno di eliminare e ricreare i miei emulatori di dispositivi, ma dopo ciò sembrava funzionare alla grande.

Impostazione delle variabili di ambiente dell'SDK per Android in modo che puntino all'SDK per Android di Homebrew

Inoltre, potresti voler assicurarti se stai seguendo il percorso Homebrew che lo script delle impostazioni del tuo profilo ha le variabili di ambiente ANDROID_HOMEe ANDROID_SDK_ROOTimpostate sulla posizione Homebrew di Android SDK, altrimenti quanto sopra non funzionerà ancora. Questo può essere modificato dalla posizione di Homebrew se hai installato Homebrew prima di installare Android Studio, come sottolineato in questa risposta da @Jamie Armor . È possibile controllare le variabili d'ambiente per l'SDK di Android siano impostate correttamente eseguendo echo $ANDROID_HOMEed echo $ANDROID_SDK_ROOTe verificando che entrambi mostrano la posizione Homebrew del SDK di Android.

Se hai bisogno di cambiare i valori ANDROID_HOME e ANDROID_SDK_ROOT puoi farlo nelle impostazioni del tuo profilo nel tuo Mac che probabilmente si troverà in qualcosa come ~/.bash_profile"~ / .bashrc" o "~ / .profile" e definito così:

export ANDROID_HOME="/usr/local/share/android-sdk"
export ANDROID_SDK_ROOT="/usr/local/share/android-sdk"

È necessario modificare i valori di entrambe le esportazioni con i valori corretti della posizione dell'SDK Android di Homebrew, quindi salvare il file. Per verificare che siano stati scritti i valori corretti, è necessario innanzitutto chiudere e aprire il terminale che dovrebbe rieseguire il file e reimpostare le variabili di ambiente oppure è possibile eseguire l'origine del file eseguendo source <profile file name>dove si trova il file del profilo modificato e salvato. È quindi possibile rieseguire echo $ANDROID_HOMEe echo $ANDROID_SDK_ROOTverificare che abbiano la posizione sdk di Android homebrew.


3
Tu eroe! I documenti di NativeScript trascurano completamente di menzionare questo aspetto.
Jamie Birch,

Non penso che sia necessaria l'installazione di brew per poter funzionare. tns run android.Questo funzionava per me prima che io eseguissi quello script di installazione nativescript. La sceneggiatura ha rotto molte cose -_-
Felipe Centeno,

1
@FelipeCenteno sì, non hai bisogno di birra per farlo. Questo è come lo fai se hai già installato tutto l'SDK Android con brew. Puoi usare la risposta di EFreaks se stai semplicemente usando il sdk di Android Studio predefinito.
Giovanni,

14

Significa che il tuo percorso verso gli strumenti non è corretto. Ecco come appare su un mac usando brew. Attenzione alla versione.

export ANDROID_SDK_ROOT='/usr/local/Cellar/android-sdk/24.4.1_1'

Nel tuo caso sembra che dovresti eseguire questo:

export ANDROID_SDK_ROOT='/Users/username/Library/Android/sdk'

3
L'errore è sempre lo stesso. Inoltre, ho ricontrollato ed ANDROID_SDK_ROOTè impostato .bash_profile. Anche echo $ANDROID_SDK_ROOTdà il percorso corretto: /usr/local/Cellar/android-sdk/24.4.1_1 sto usando MacOS con HomeBrew.
Shivam Maheshwari,


8

Ho avuto lo stesso problema dopo l'aggiornamento dell'emulatore. Il problema è stato risolto dopo l'aggiunta della variabile ANDROID_AVD_HOME inserisci qui la descrizione dell'immagine

Importante: non è possibile utilizzare caratteri non ASCII nel percorso. Infine, reinstalla i dispositivi virtuali o esegui l'override manuale del percorso del dispositivo nel file Configuration settings.ini che contiene il vecchio percorso con caratteri non ASCII.

C:\Users\<user_name>\.android\avd\<avd_name>

Sì, i caratteri non ASCII sono importanti. Dopo aver rimosso questi caratteri tutto funziona bene. Come rimuovere superuser.com/questions/1355431/…
Alex Z,

8

Ho eseguito Android Studio su Windows 10, impostato ANDROID_HOME e ANDROID_SDK_ROOT su Variabili d'ambiente e ho ancora riscontrato l'errore.

A quanto pare, ho dimenticato di scaricare il dispositivo.

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

Dopo aver scaricato "Immagine di sistema mancante", tutto funziona bene.


2
mio Dio. Ho impostato così tante variabili d'ambiente che non è stato necessario impostare. tutto quello che dovevo fare era scaricare qualcosa. Grazie.
Andy,

7

Nel mio caso è stato rotto perché ANDROID_HOME e ANDROID_SDK_ROOT erano diversi, quindi una volta impostato ANDROID_HOME in modo che corrispondesse a ANDROID_SDK_ROOT, ha iniziato a funzionare.


1
Sì grazie che funziona per me, e come ha detto @Blagojce ho aggiunto che C: \ Users \% username% \ AppData \ Local \ Android \ sdk \ in entrambe le variabili ANDROID_HOME e ANDROID_SDK_ROOT
Abdelhadi Abdo,

Ciò ha risolto anche per me. Molto probabilmente ho installato un SDK Android prima di installare Visual Studio / Xamarin.
thowa,

6

La risposta di Oleg Cherrs mi ha portato a una soluzione. Come ha detto

Vai su /.android/avd/ e apri config.ini. Trova la proprietà> image.sysdir.1. Indica la directory all'interno dell'SDK che contiene system> images. Assicurati che questa directory esista e contenga file come build.prop,> system.img, ecc. In caso contrario, devi aprire SDK Manager e> scaricare le immagini di sistema richieste dal tuo AVD (vedi sotto).

Ho trovato il corrispondente file * .ini dell'emulatore nella directory avd. Lì ho modificato la voce "image.sysdir.1". Ho sostituito il parente con un percorso assoluto (aggiungi ANDROID_SDK_ROOT in primo piano). Successivamente l'emulatore si è avviato dalla riga di comando come previsto.


Ha funzionato anche per me, unica soluzione che funziona con WIN10 x64 con tutte le variabili PATH impostate correttamente. (FYI: ho aggiunto il percorso assoluto di ANDROID_SDK_ROOT anziché la variabile stessa)
Max Methot

Sono andato a C:\Users\edkol\.android\avdma non vedo alcun config.ini - devo aggiungerne uno? in tal caso, dove posso trovarlo?
ekolis,

6
  • La directory Platfoms mancava in / usr / local / share / android-sdk .

  • Ho creato una directory vuota denominata piattaforme che ha risolto il problema.


5

ok posso eseguire Android da Cordova, ho cambiato ANDROID_HOME in,

export ANDROID_HOME=/usr/local/opt/android-sdk

5

È necessario aggiungere l'emulatore AVD. Vai a questa posizione:

C:\Users\%username%\AppData\Local\Android\sdk\

avviare AVD Manager e nella seconda scheda (Device Definitions) fare clic sul pulsante "createAVD".


4

Sono in Windows 10 e il problema era che la directory di avd nel mio computer conteneva caratteri non ASCII.

Ecco cosa fare:

Esegui cmd come amministratore

Esegui il seguente comando:

mklink /D C:\\.android C:\\Users\\-yourUsername-\\.android

(Questo creerà un collegamento simbolico tra il percorso con caratteri non ASCII e quello nuovo)

Nell'ambiente le variabili aggiungono la ANDROID_AVD_HOMEvariabile con valore C:\\.android\avd.


3

Ho appena incontrato quel problema oggi e sono riuscito a risolverlo.

Emulatore: [140735565005632]: ERRORE: android / android-emu / android / qt / qt_setup.cpp: 28: libreria Qt non trovata in / Users / nome_utente / Libreria / Android / sdk / emulatore / lib64 / qt / lib

15:08 Emulatore: Impossibile avviare '/ Users / nome_utente / Libreria / Android / sdk / emulatore / qemu / darwin-x86_64 / qemu-system-x86_64': Nessun file o directory

La soluzione era piuttosto semplice. Installa l'emulatore Android tramite Android Studio => tools => Android => SDK manager => SDK tools => seleziona Android Emulator => Applica

Sto usando un MacBook Pro su macOS High Sierra e credo che la tua macchina non abbia nulla a che fare con questo problema. L'emulatore non è ovviamente installato quando si esegue il gestore di installazione di Android Studio per la prima volta, almeno per me, con Android Studio 3.0.1

Assicurati anche di avere i tuoi percorsi definiti nel tuo .bashrc o .zshrc in questo modo:

export ANDROID_HOME=/Users/your_user_name/Library/Android/sdk
export ANDROID_SDK_ROOT=$ANDROID_HOME
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools

2

Verificare che l'immagine di sistema utilizzata dall'AVD sia stata scaricata in $ANDROID_SDK_ROOT/system-images/


2

Ho avuto lo stesso problema che dopo aver impostato le seguenti variabili del percorso sono scomparse Nota: il percorso AVD Home è diverso dagli altri tre.

inserisci qui la descrizione dell'immagine


2

NativeScript

Per chiunque abbia problemi a lanciare l'emulatore Android tramite NativeScript, è probabile che siano stati sostituiti ANDROID_HOME e ANDROID_SDK_ROOT.

Il modo in cui sono riuscito a creare un problema per me è stato installando Android Studio per generare un emulatore diverso. L'ho fatto dopo aver già installato Android SDK tramite birra fatta in casa.

Quindi, se durante l'installazione di NativeScript, hai scelto di installare Android SDK tramite HomeBrew, NativeScript imposterà quanto sopra:

ANDROID_HOME=/usr/local/share/android-sdk
ANDROID_SDK_ROOT=/usr/local/share/android-sdk

Successivamente l'installazione di Android Studio sovrascriverà questi valori come:

ANDROID_HOME=/Users/[User]/Library/Android/sdk
ANDROID_SDK_ROOT=/Users/[User]/Library/Android/sdk

Quindi naturalmente c'è un conflitto con Android Studio e l'installazione NativeScript / Brew di Android SDK. Rimuovere l'uno o l'altro e / o verificare che la variabile env contenga il percorso corretto dovrebbe far partire il tuo emulatore.


1

Dopo un po 'di tempo provando altre "soluzioni" di Google, l' unica cosa che ha funzionato per me, dopo aver impostato la variabile di ambiente ANDROID_SDK_ROOT su Windows, e anche aver aggiunto e rimosso le variabili ANDROID_HOME e ANDROID_SDK_HOME, è stata la risposta di Xerox23 - modificando la configurazione di AVD su hardcode il valore di ANDROID_SDK_ROOT nella proprietà image.sysdir.1.

Questo utilizzava Android Studio 3.0.1 e l'emulatore 26.1.4, avviando il dispositivo virtuale da AVD Manager da Android Studio.


1

Per Windows: Dopo aver provato un sacco di percorso impostato, rimuovere il percorso ed ecc. Ciò che infine funziona è individuare la cartella C:\Users\johndoe\.androided eliminarla. dopodiché puoi pranzare sul tuo Android Studio, ti chiederà di scaricare e installare un nuovo AVD e sovrascriverà e creerà una nuova cartella e file nuovi. Questo risolve il problema.


Ciao, un buon consiglio. Tutti noi con installazioni precedenti dobbiamo farlo. Dopo aver seguito e fallito con altre ricette, la tua risposta è la soluzione. Grazie!
lm2a

1

Per risolvere questo problema ho dovuto installare il pacchetto con l'immagine di sistema mancante usando SDK Manager.exe (in "C: \ Programmi (x86) \ Android \ android-sdk"). Avevo notato che l'immagine di sistema di cui avevo bisogno ("android-23") mancava in "C: \ Programmi (x86) \ Android \ android-sdk \ system-images".

Dopo aver eseguito SDK Manager.exe e aver installato i pacchetti appropriati, ho potuto eseguire l'emulatore in Android Studio.

Ecco la soluzione che ha funzionato per me:

https://www.embarcadero.com/starthere/xe5/mobdevsetup/android/en/creating_an_android_emulator.html


1

Seguire i passaggi seguenti per risolvere il problema

1.

export ANDROID_HOME=/usr/local/Cellar/android-sdk/24.4.1
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_HOME/bin

2.

Go to android studio preferences => Build, Execution, Deployment => Build Tools => Gradle => Android studio  => Enable embedded Maven Repository should be selected.

3.

Go to android studio preferences => Appearance & Behavior => System Settings => Android SDK => Go to SDK Tools and select Android Emulator

1

Ho risolto questo problema rimuovendo il file /usr/local/share/android-sdk, perché questo file è stato creato quando ho provato con homebrew.

export ANDROID_HOME=/Users/<username>/Library/Android/sdk

export ANDROID_SDK_ROOT=/Users/<username>/Library/Android/sdk

export ANDROID_AVD_HOME=/Users/<username>/.android/avd

questo è sufficiente ....


1

Apri il tuo studio Android, quindi concentrati sulla barra degli strumenti.

Vai a strumenti> gestore SDK quindi

Aspetto e comportamento> Impostazioni di sistema> SDK Android

Ora nella scheda copia la posizione dell'SDK Android da qui Posizione dell'SDK Android

quindi vai alle variabili di ambiente e imposta il percorso insieme a queste variabili

  1. ANDROID_HOME
  2. ANDROID_SDK_ROOT

variabili ambientali


1
  1. Elimina i primi dispositivi creati.
  2. Chiudi Android Studio.
  3. Apri: Pannello di controllo -> Sistema e sicurezza -> Sistema -> Impostazioni di sistema avanzate -> Variabili d'ambiente.
  4. Crea una nuova variabile "ANDROID_SDK_HOME" e imposta un nuovo percorso (nel mio caso era F: \ Coding2019 \ Android \ AVDdevices). Premi "ok".
  5. Apri Android Studio.
  6. Crea un nuovo dispositivo. Dopo aver creato nel menu a discesa, fai clic su "Visualizza dettagli" per vedere il nuovo percorso del nuovo AVD.

1

ANDROID_SDK_HOME è un puntatore alla radice del file ".android", che per impostazione predefinita viene creato in "C: \ Users \ name \ .android" e NON alla radice della cartella SDK. Quindi: - Assegnare ANDROID_SDK_HOME alla cartella principale SDK non funzionerà. - Se il percorso del file ".android" ha caratteri non ASCII, non funzionerà. - La cartella AVD deve trovarsi all'interno del file ".android" corrente.

Quindi la risposta è questa:

  • Cambia la tua cartella SDK, se necessario, come le risposte precedenti (all'interno del progetto su Android Studio).
  • Chiudi Android Studio.
  • Pannello di controllo> Sistema> Impostazioni di sistema avanzate> Variabili d'ambiente.
  • Aggiungi una nuova variabile utente: Nome variabile: ANDROID_SDK_HOME Valore variabile: C: \ src (o qualsiasi cartella che non ha problemi con caratteri non ASCII o privilegi SO) IL PERCORSO CHE INSERIRI NON PU BE ESSERE ROOT FOLDER DEL TUO SDK ANDROID !! !
  • Apri Android Studio. Assicurarsi che sia stata creata una cartella denominata ".android" nella nuova posizione.
  • Elimina il dispositivo virtuale Android (AVD) che hai creato.
  • Chiudi e apri Android Studio.
  • Crea un nuovo AVD e vedi che la magia accade.

Saluti.


1

中国 的 小 伙伴注意 ! 原因 是 avd 目录 不能 包含 中文 Ho provato tutti questi metodi sopra, e continuo a ricevere l'errore, e mi chiedo se è perché la mia directory avd contiene un carattere cinese. quindi cambio la directory predefinita avd con i seguenti passaggi e ha funzionato. 1. crea una cartella il cui percorso non contenga caratteri non ascii 2. copia o taglia la cartella avd predefinita $HOME/.androidsotto la cartella appena creata 3. aggiungi PATH ADNDROID_SDK_HOMEe lo studio Android troverà avd sotto $ ADNDROID_SDK_HOME / .android / avd

finalmente ha funzionato! :>


1

Una correzione se l'utente contiene caratteri non ASCII

Per le persone che ottengono " PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT", la ragione potrebbe essere che il tuo utente negli utenti contiene non ASCII .

Pertanto, sia la cartella SDK che la cartella .android con la cartella AVD devono essere spostate in un'altra cartella.

Modifica del percorso dell'SDK:

Apri Android Studio , vai a configurare e scegli SDK Manager. Cambia l'attuale posizione dell'SDK di Android in ad es. "C: \ Android \ Sdk" (o altrove, non nella cartella dell'utente contenente caratteri non ASCII) .

Successivamente, aggiungi le seguenti variabili di sistema:

ANDROID_SDK_ROOT C:\Android\Sdk
ANDROID_HOME C:\Android\Sdk

Modifica del percorso AVD:

Per modificare la posizione in cui è collocata la cartella AVD (normalmente posizionata in " C:\Users\<user name>\.android\avd"), è necessario modificare la .androidposizione in cui è collocata la cartella . Per prima cosa chiudi Android Studio , quindi aggiungi la variabile di sistema ANDROID_SDK_HOMEcon il percorso al nuovo posto che desideri .androidessere, ad esempio C:\Android_SDK_HOMEcome utilizzato in un altro esempio:

ANDROID_SDK_HOME C:\Android_SDK_HOME

Dopo aver aggiunto questo, esegui Android Studio . Quindi richiudilo. Ora .androiddovrebbe apparire una cartella chiamata .

La prossima e ultima cosa che devi fare è impostare la ANDROID_AVD_HOMEvariabile di sistema. In questo caso quello sarà dentroC:\Android_SDK_HOME\.android\avd

ANDROID_AVD_HOME C:\Android_SDK_HOME\.android\avd

Spero che questo risolva il problema per alcuni. :)


Grazie mille. Stavo solo cercando su Google questo problema e mi sono imbattuto nel tuo nuovo post e ha funzionato!
JangoCG

0

Mi sono imbattuto in questo problema da quando ho fatto React Native fin dai primi giorni. Google ha deprecato gli strumenti della riga di comando e insiste su Android Studio. La soluzione per me era rimuovere gli strumenti da riga di comando

rm -rf /usr/local/Cellar/android-sdk

rm /usr/local/bin/android

apri AS install sdk v6 come indicato https://facebook.github.io/react-native/docs/getting-started.html#1-install-android-studio

crea un nuovo AVD e verrà avviato senza errori


0

Gli errori in realtà variano. È utile eseguire l' ./emulator with -verboseopzione, in quanto mostrerà gli errori effettivi.

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.