Después de escribir cordova run android
en la terminal, recibo este error:
Waiting for emulator to start...
PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value [/Users/username/Library/Android/sdk]!
Esto sucede después de exportar:
export ANDROID_SDK_ROOT='/Users/username/Library/Android/sdk'
Antes de exportar obtuve:
Waiting for emulator to start...
PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT
¿Alguna idea de dónde voy mal? Estoy seguro de que esta es la raíz sdk, ¿por qué me sale la ruta del sistema avd rota?
1>PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT 1>Emulator Nexus_5X_API_23 cannot be started.
PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value [/usr/local/share/android-sdk]!
cuando reviso esa ruta->echo $ANDROID_SDK_ROOT /usr/local/share/android-sdk
. Entonces, el emulador se bloquea a pesar de que la ruta es correcta.Respuestas:
Puede haber varios problemas diferentes cuando mueve su AVD o SDK a otro directorio, o reemplaza un SDK antiguo por uno nuevo, o de alguna manera daña el SDK.
A continuación, describiré todos los posibles problemas que conozco y le daré varias formas de resolverlos.
Estructura SDK incompleta / corrupta
Estos 2 errores ocurren si el emulador no puede encontrar el SDK, o si el SDK está roto.
Entonces, en primer lugar, recomiendo eliminar la
ANDROID_SDK_ROOT
variable. Solo es necesario cuando el emulador se encuentra fuera del directorio SDK. Pero en general, su emulador permanece dentro del directorio SDK. Y en este caso, debe detectar la ubicación del SDK automáticamente . Si no es así, entonces su SDK probablemente tenga un árbol de archivos incorrecto. Por favor haga lo siguiente:Compruebe que el directorio del SDK tiene al menos 4 de estos directorios:
emulator
,platforms
,platform-tools
,system-images
. ¡Es muy importante! Estos directorios deben estar presentes. Si algunos de ellos no existen, simplemente cree directorios vacíos.Ve
<user_home>/.android/avd/<avd_name>
y abreconfig.ini
. Encuentra laimage.sysdir.1
propiedad. Apunta al directorio, dentro del directorio SDK, que contiene la imagen real del sistema. Asegúrese de que este directorio exista y contenga archivos comobuild.prop
,system.img
etc. Si no es así, debe abrir el Administrador de SDK y descargar las imágenes del sistema que requiere su AVD (consulte a continuación).Si todo está configurado correctamente, cuando estos errores
ANDROID_SDK_ROOT
deben desaparecer. Si no lo están, entonces puede intentar configurar laANDROID_SDK_ROOT
variable.Los paquetes requeridos y HAXM no están instalados
El siguiente problema que puede enfrentar es que el emulador comienza a iniciarse, pero se cuelga o se cierra inmediatamente. Eso probablemente significa que no tiene todos los paquetes necesarios instalados.
Otro posible error es:
Por lo tanto, para iniciar con éxito cualquier AVD, debe asegurarse de que al menos estos paquetes estén instalados:
Y como mencioné anteriormente, debe instalar las imágenes del sistema que usa su AVD, por ejemplo
system-images;android-25;google_apis;x86
También recomiendo instalar HAXM en su sistema manualmente.
Los archivos Qcow2 se refieren a imágenes base incorrectas / inexistentes
El último problema que mencionaré ocurre cuando intentas mover AVD o SDK de una computadora o directorio a otro. En este caso, puede obtener dicho error:
Hay 2 formas de solucionarlo:
Si no le importan los datos que contiene el AVD, simplemente elimine todos los
qcow2
archivos del directorio AVD (por ejemplo, de<user_home>/.android/avd/<avd_name>
). En este caso, obtendrá una versión limpia de Android, como después de un restablecimiento completo.Si los datos en el emulador son importantes para usted, abra todos los
qcow2
archivos uno por uno usando cualquier editor HEX (prefiero HxD ), encuentre la ruta de unimg
archivo base y cámbiela por la correcta en elOverwrite
modo (para preservar el tamaño del archivo). Luego seleccione la ruta y obtenga su longitud en hexadecimal (por ejemplo2F
).2F
representa la barra inclinada ASCII/
. Ponlo en posición13
:PD: No estoy seguro, pero probablemente hay algunas utilidades como qemu-img que permiten configurar diferentes imágenes base. Bueno, para mí es más fácil editar manualmente el binario.
Ahora probablemente podrá iniciar con éxito su dispositivo virtual Android. Yo espero que sí :)
fuente
hw.cpu.arch
en config.initools/bin/sdkmanager "platform-tools"
. Fue muy difícil encontrar lo que estaba mal debido a este estúpido mensaje de error ("PÁNICO: No se puede encontrar la ruta del sistema AVD. Defina ANDROID_SDK_ROOT") que no decía claramente cuál era el problema ...En Mac: lo instalé
android-sdk
usandobrew
Android Studio. De alguna manera, tener 2 instalaciones estaba causando este problema. Cuando desinstalé mi instalación brew del sdk usandobrew cask uninstall android-sdk
y agregué los siguientes vars a mi entorno. Funcionó.fuente
android-sdk
durante la instalación de NativeScript. El emulador se inicia directamente desde Android Studio ahora, pero no a través de NativeScript (tns ejecuta android)Esto resolverá su problema en macOS:
fuente
Eliminar el error al usar el SDK de Android de Homebrew como el SDK predeterminado
Como @EFreak instalé android-sdk con homebrew (un administrador de paquetes para Mac). Necesitaba hacer lo siguiente para corregir el error, porque estaba siguiendo los tutoriales nativescript y me encontré con el error. Si desea que tenga la intención de usar la versión brew sobre la versión de Android-SDK, use esta respuesta (esto le permitirá usar guiones nativos
tns run android
API ), y si desea el Android-SDK predeterminado de Android Studio, siga la respuesta de @ EFreak.Configuración de Android Studio para usar los SDK de Android de Homebrew
Básicamente, solo necesita cambiar la ubicación del SDK de Android en el estudio de Android. Primero abra un proyecto en el estudio de Android. Luego abra el SDK Manager haciendo clic en este botón.
A continuación, cuando aparezcan las preferencias predeterminadas para el administrador del SDK de Android, debe hacer clic en editar junto a la ubicación del SDK de Android.
Encontrar la ubicación del SDK de Android de Homebrew
A continuación, debe actualizar la ubicación de SDK en la pantalla de configuración de componentes SDK. Mi
brew
Android SDK se encuentra aquí/usr/local/share/android-sdk
. Puede encontrar dónde está instalado el suyo ejecutando ybrew cask info android-sdk
luego cerca de la parte inferior de la salida que debería decir:El valor de la variable
export
edANDROID_SDK_ROOT
(que aquí está/usr/local/share/android-sdk
) es la ubicación de home-brew del sdk de Android.Luego, debe hacer clic en el botón Ubicación del SDK de Android (etiquetado como 1 en la imagen) y pegarlo en la ubicación del SDK de Android de Homebrew.
Luego, termine el asistente instalando cualquier paquete. Necesitaba eliminar y volver a crear los emuladores de mi dispositivo en este paso, pero parecía funcionar muy bien después de eso.
Configuración de las variables de entorno del SDK de Android para que apunten al SDK de Android de Homebrew
También es posible que desee asegurarse de que si usted va la ruta Homebrew que el guión de su perfil de configuración tiene el
ANDROID_HOME
yANDROID_SDK_ROOT
variables de entorno establece en su ubicación Homebrew del SDK de Android por lo demás lo anterior no funciona todavía. Esto se puede cambiar desde la ubicación de Homebrew si instaló Homebrew antes de instalar Android Studio como se señala en esta respuesta de @Jamie Armor . Puede verificar que las variables de entorno para Android SDK estén configuradas correctamente ejecutandoecho $ANDROID_HOME
yecho $ANDROID_SDK_ROOT
y verificando que ambos muestran la ubicación Homebrew del SDK de Android.Si necesita cambiar los valores de ANDROID_HOME y ANDROID_SDK_ROOT, puede hacerlo en la configuración de su perfil en su Mac, que probablemente estaría en algo como
~/.bash_profile
"~ / .bashrc" o "~ / .profile" y definido así:Debe cambiar los valores de ambas exportaciones a los valores adecuados de la ubicación del SDK de Android de Homebrew y luego guardar el archivo. Para verificar que se hayan escrito los valores correctos, primero debe cerrar y abrir su terminal, que debe volver a ejecutar el archivo y restablecer las variables de entorno o puede obtener el archivo ejecutando
source <profile file name>
dónde está el archivo de perfil que editó y guardó. Luego puede volver a ejecutarecho $ANDROID_HOME
yecho $ANDROID_SDK_ROOT
verificar que tengan la ubicación sdk de Android Homebrew.fuente
tns run android.
Esto funcionaba para mí antes de ejecutar ese script de configuración nativescript. El guion rompió muchas cosas -_-Significa que su camino a las herramientas es incorrecto. Así es como se ve en una Mac usando brew. Cuidado con la versión.
En su caso, parece que debería ejecutar esto:
fuente
ANDROID_SDK_ROOT
se configuró.bash_profile
. Inclusoecho $ANDROID_SDK_ROOT
da la ruta correcta:/usr/local/Cellar/android-sdk/24.4.1_1
estoy usando macOS con HomeBrew.Tuve el mismo problema en mi Windows10,
resolvió mi problema siguiendo los pasos a continuación.
abra Android Studio
- Herramientas
- SDK Manager
- copie la ubicación del
SDK de Android La ubicación del SDK de Android
establece la variable de entorno del sistema
ANDROID_HOME y la variable de entorno del sistema ANDROID_SDK_ROOT
fuente
Tuve el mismo problema después de la actualización del emulador. El problema se resolvió después de agregar la variable ANDROID_AVD_HOME
Importante: los caracteres no ASCII no se pueden usar en la ruta. Finalmente, reinstale los dispositivos virtuales o anule manualmente la ruta del dispositivo en el archivo Configuración settings.ini que contiene la ruta anterior con caracteres que no son ascii.
fuente
Ejecuté Android Studio en Windows 10, configuré ANDROID_HOME y ANDROID_SDK_ROOT en Variables de entorno, y aún recibí el error.
Resulta que olvidé descargar el dispositivo.
Después de descargar la "Imagen del sistema faltante", todo funciona bien.
fuente
En mi caso, se rompió porque ANDROID_HOME y ANDROID_SDK_ROOT eran diferentes, así que una vez que configuré ANDROID_HOME para que fuera igual a ANDROID_SDK_ROOT, comenzó a funcionar.
fuente
La respuesta de Oleg Cherrs me llevó a una solución. Como mencionó
Encontré el emulador correspondiente * .ini archivo en el directorio avd. Allí modifiqué la entrada "image.sysdir.1". Reemplacé el pariente con una ruta absoluta (agregue ANDROID_SDK_ROOT al frente). Después de eso, el emulador comenzó desde la línea de comando como se esperaba.
fuente
C:\Users\edkol\.android\avd
pero no veo ningún config.ini: ¿necesito agregar uno? Si es así, ¿dónde puedo conseguirlo?Faltaba el directorio de plataformas en / usr / local / share / android-sdk .
Creé un directorio vacío llamado plataformas que solucionó el problema.
fuente
ok, puedo ejecutar android desde cordova, cambié ANDROID_HOME a,
fuente
Debe agregar el emulador AVD. Ve a esta ubicación:
inicie AVD Manager y en la segunda pestaña (Definiciones de dispositivo) haga clic en el botón "createAVD".
fuente
Estoy en Windows 10 y el problema fue que el directorio de AVD en mi computadora tenía caracteres no ASCII.
Esto es lo que debes hacer:
Ejecute cmd como administrador
Ejecute el siguiente comando:
(Esto creará un enlace simbólico entre la ruta con caracteres no ASCII y el nuevo)
En el entorno, las variables agregan
ANDROID_AVD_HOME
variable con valorC:\\.android\avd
.fuente
Acabo de encontrarme con ese problema hoy y logré resolverlo.
Emulador: [140735565005632]: ERROR: android / android-emu / android / qt / qt_setup.cpp: 28: la biblioteca Qt no se encuentra en / Users / your_user_name / Library / Android / sdk / emulator / lib64 / qt / lib
15:08 Emulador: No se pudo iniciar '/ Users / your_user_name / Library / Android / sdk / emulator / qemu / darwin-x86_64 / qemu-system-x86_64': No existe tal archivo o directorio
La solución fue bastante simple. Simplemente instale el emulador de Android a través de Android Studio => herramientas => Android => SDK manager => SDK tools => seleccione Android Emulator => Apply
Estoy usando una MacBook Pro en macOS High Sierra, y creo que su máquina no tiene nada que ver con este problema. Obviamente, el emulador no se instala cuando se ejecuta el administrador de instalación de Android Studio por primera vez, al menos para mí, con Android Studio 3.0.1
También asegúrese de tener sus rutas definidas en su .bashrc o .zshrc de esta manera:
fuente
Compruebe si la imagen del sistema utilizada por su AVD se ha descargado en
$ANDROID_SDK_ROOT/system-images/
fuente
Tuve el mismo problema que después de configurar las siguientes variables de ruta se desvaneció. Nota La ruta de inicio de AVD es diferente de las otras tres.
fuente
NativeScript
Para cualquier persona que tenga problemas para iniciar el emulador de Android a través de NativeScript, es probable que se hayan anulado los entornos ANDROID_HOME y ANDROID_SDK_ROOT.
La forma en que logré crear un problema para mí fue instalando Android Studio para generar un emulador diferente. Hice esto después de haber instalado Android SDK a través de Home Brew.
Entonces, si durante la instalación de NativeScript, seleccionó instalar Android SDK a través de HomeBrew, NativeScript configurará lo anterior de la siguiente manera:
Posteriormente, la instalación de Android Studio anulará estos valores como:
Entonces, naturalmente, hay un conflicto con el estudio de Android y la instalación de NativeScript / Brew del sdk de Android. Eliminar uno u otro y / o verificar que la variable env contenga la ruta correcta debería hacer que su emulador se inicie.
fuente
Después de bastante tiempo probando otras "soluciones" en Google, la única que funcionó para mí, después de configurar la variable de entorno ANDROID_SDK_ROOT en Windows, y también de agregar y eliminar las variables ANDROID_HOME y ANDROID_SDK_HOME, fue la respuesta de Xerox23, editando el config.ini del AVD en código duro el valor de ANDROID_SDK_ROOT en la propiedad image.sysdir.1.
Esto estaba usando Android Studio 3.0.1 y el emulador 26.1.4, iniciando el dispositivo virtual desde el Administrador de AVD desde Android Studio.
fuente
Para la máquina de Windows: después de probar una gran cantidad de rutas establecidas, elimine la ruta, etc. Lo que finalmente funciona es ubicar la carpeta
C:\Users\johndoe\.android
y eliminarla. después de eso, puede almorzar su Android Studio, le pedirá que descargue e instale un nuevo AVD y anulará y creará una nueva carpeta y archivos nuevos. Esto resuelve el problema.fuente
Para resolver este problema, tuve que instalar el paquete con la imagen del sistema que falta usando SDK Manager.exe (en "C: \ Archivos de programa (x86) \ Android \ android-sdk"). Me di cuenta de que faltaba la imagen del sistema que necesitaba ("android-23") en "C: \ Archivos de programa (x86) \ Android \ android-sdk \ system-images".
Después de ejecutar SDK Manager.exe e instalar los paquetes apropiados, podría ejecutar el emulador en Android Studio.
Aquí está la solución que funcionó para mí:
https://www.embarcadero.com/starthere/xe5/mobdevsetup/android/en/creating_an_android_emulator.html
fuente
Siga los pasos a continuación, esto debería resolver su problema
1)
2)
3)
fuente
Resolví este problema eliminando el archivo
/usr/local/share/android-sdk
, porque este archivo se creó cuando probé con homebrew.es suficiente ....
fuente
Abra su estudio de Android y luego concéntrese en la barra de herramientas.
Ir a herramientas> SDK manager luego
Apariencia y comportamiento> Configuración del sistema> Android SDK
Ahora en la pestaña, copie la ubicación del SDK de Android desde aquí Ubicación del SDK de Android
luego vaya a las variables de entorno y luego establezca la ruta junto con estas variables
Variables de entorno
fuente
fuente
ANDROID_SDK_HOME es un puntero a la raíz de su archivo ".android", que por defecto se crea en "C: \ Users \ name \ .android", y NO a la raíz de su carpeta SDK. Luego: - Asignar ANDROID_SDK_HOME a la carpeta raíz del SDK no funcionará. - Si la ruta de su archivo ".android" tiene caracteres no ASCII, no funcionará. - La carpeta AVD debe estar dentro de su archivo ".android" actual.
Entonces la respuesta es esta:
Salud.
fuente
中国 的 小 伙伴 注意! 原因 是 avd 目录 不能 包含 中文 Intenté todos estos métodos anteriores, y todavía recibo el error, y me pregunto si es porque mi directorio avd contiene caracteres chinos. entonces cambié el directorio avd predeterminado por los siguientes pasos, y funcionó. 1. cree una carpeta cuya ruta no contenga caracteres que no sean ascii 2. copie o corte la carpeta avd predeterminada
$HOME/.android
debajo de la carpeta que acaba de crear 3. agregue PATHADNDROID_SDK_HOME
, y el estudio de Android encontrará avd debajo de $ ADNDROID_SDK_HOME / .android / avdfinalmente funcionó! :>
fuente
Una solución si su usuario contiene caracteres no ASCII
Para las personas que obtienen "
PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT
", la razón de esto podría ser que su usuario en usuarios contiene no ASCII .Por lo tanto, tanto el SDK como la carpeta .android con la carpeta AVD deben moverse a otra carpeta.
Cambiar la ruta del SDK:
Abra Android Studio , vaya a configurar y elija el SDK Manager. Cambie la ubicación actual del SDK de Android a, por ejemplo, "C: \ Android \ Sdk" (o en otro lugar, simplemente no en la carpeta del usuario que contiene caracteres no ASCII) .
Después de esto, agregue las siguientes variables del sistema:
Cambiar la ruta AVD:
Para cambiar la ubicación de la carpeta AVD (normalmente ubicada en "
C:\Users\<user name>\.android\avd
"), debe cambiar la.android
ubicación de la carpeta . Primero cierre Android Studio , luego agregue la variable del sistemaANDROID_SDK_HOME
con la ruta al nuevo lugar donde desea.android
estar, por ejemplo,C:\Android_SDK_HOME
como se usa en otro ejemplo:Después de agregar esto, ejecute Android Studio . Luego ciérralo de nuevo. Ahora
.android
debería haber aparecido una carpeta llamada .Lo siguiente y lo último que debe hacer es establecer la
ANDROID_AVD_HOME
variable del sistema. En este caso eso estará enC:\Android_SDK_HOME\.android\avd
Espero que esto resuelva el problema para algunos. :)
fuente
Me encontré con este problema ya que he estado haciendo React Native desde los primeros días. Google ha desaprobado las herramientas de línea de comandos e insiste en el estudio de Android. La solución para mí fue eliminar las herramientas de línea de comandos
rm -rf /usr/local/Cellar/android-sdk
rm /usr/local/bin/android
abra AS instalar sdk v6 como se indica https://facebook.github.io/react-native/docs/getting-started.html#1-install-android-studio
crea un nuevo AVD y se lanzará sin error
fuente
Los errores en realidad varían. Es útil ejecutar la
./emulator with -verbose
opción, ya que mostrará los errores reales.fuente