После ввода cordova run android
в терминале я получаю эту ошибку:
Waiting for emulator to start...
PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value [/Users/username/Library/Android/sdk]!
Это происходит после экспорта:
export ANDROID_SDK_ROOT='/Users/username/Library/Android/sdk'
Перед экспортом я получил:
Waiting for emulator to start...
PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT
Есть идеи, где я иду не так? Я уверен, что это корень SDK, так почему я получаю сломанный системный путь AVD?
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]!
когда я проверяю этот путь->echo $ANDROID_SDK_ROOT /usr/local/share/android-sdk
. Таким образом, эмулятор падает, хотя путь правильный.Ответы:
При перемещении AVD или SDK в другой каталог или при замене старого SDK новым или при повреждении SDK может возникнуть несколько разных проблем.
Ниже я опишу все возможные проблемы, которые я знаю, и дам несколько способов их решения.
Неполная / поврежденная структура SDK
Эти 2 ошибки происходят, если эмулятор не может найти SDK или SDK поврежден.
Итак, прежде всего, я рекомендую удалить
ANDROID_SDK_ROOT
переменную вообще. Это нужно только тогда, когда эмулятор находится за пределами каталога SDK. Но в целом, ваш эмулятор остается внутри директории SDK. И в этом случае он должен автоматически определять местоположение SDK . Если это не так, то ваш SDK, вероятно, имеет неправильное файловое дерево. Пожалуйста, сделайте следующее:Убедитесь , что каталог SDK имеет , по крайней мере , эти 4 директории:
emulator
,platforms
,platform-tools
,system-images
. Это очень важно! Эти каталоги должны присутствовать. Если некоторых из них не существует, просто создайте пустые каталоги.Иди
<user_home>/.android/avd/<avd_name>
и откройconfig.ini
. Найтиimage.sysdir.1
недвижимость. Он указывает на каталог внутри каталога SDK, который содержит фактический образ системы. Убедитесь, что этот каталог существует и содержит такие файлы, какbuild.prop
,system.img
и т. Д. Если это не так, вам нужно открыть SDK Manager и загрузить системные образы, необходимые для вашего AVD (см. Ниже).Если все настроено правильно, когда эти ошибки о
ANDROID_SDK_ROOT
должны исчезнуть. Если это не так, то теперь вы можете попытаться установитьANDROID_SDK_ROOT
переменную.Обязательные пакеты и HAXM не установлены
Следующая проблема, с которой вы можете столкнуться, заключается в том, что эмулятор начинает запускаться, но зависает или сразу же завершает работу. Это, вероятно, означает, что у вас не установлены все необходимые пакеты.
Другая возможная ошибка:
Итак, чтобы успешно запустить любой AVD, вы должны быть уверены, что установлены хотя бы следующие пакеты:
И, как я упоминал ранее, вы должны установить образы системы, которые использует ваш AVD, например
system-images;android-25;google_apis;x86
Также я рекомендую установить HAXM на вашу систему вручную.
Qcow2-файлы ссылаются на неправильные / несуществующие базовые образы
Последняя проблема, о которой я упомяну, возникает, когда вы пытаетесь переместить AVD или SDK с одного компьютера или каталога на другой. В этом случае вы можете получить такую ошибку:
Есть 2 способа это исправить:
Если вас не волнуют данные, которые содержит AVD, просто удалите все
qcow2
файлы из каталога AVD (например, из<user_home>/.android/avd/<avd_name>
). В этом случае вы получите чистую версию Android, как после полной перезагрузки.Если для вас важны данные на эмуляторе, откройте все
qcow2
файлы по одному с помощью любого редактора HEX (я предпочитаю HxD ), найдите путь к базовомуimg
файлу и измените его на правильный вOverwrite
режиме (чтобы сохранить размер файла). Затем выберите путь и получите его длину в шестнадцатеричном формате (например2F
).2F
представляет косую черту ASCII/
. Поместите это в положение13
:PS: Не уверен, но, вероятно, есть некоторые утилиты, такие как qemu-img, позволяющие установить другое базовое изображение. Ну, мне проще редактировать бинарный файл вручную.
Теперь вы, вероятно, сможете успешно запустить виртуальное устройство Android. Я надеюсь, что это так :)
источник
hw.cpu.arch
в config.initools/bin/sdkmanager "platform-tools"
. Было так тяжело найти что-то не так из-за этого глупого сообщения об ошибке («ПАНИКА: не удается найти системный путь AVD. Пожалуйста, определите ANDROID_SDK_ROOT»), в котором неясно сказано, в чем проблема ...На Mac: я установил
android-sdk
с использованием,brew
а также Android Studio. Каким-то образом наличие 2 установок было причиной этой проблемы. Когда я удалил мою установку brew sdk, используяbrew cask uninstall android-sdk
и добавил следующие переменные в мою среду. Это сработало.источник
android-sdk
во время установки NativeScript. Теперь эмулятор запускается прямо из Android Studio, но не через NativeScript (tns run android)Это решит вашу проблему в macOS:
источник
Устранение ошибки при использовании Android SDK от Homebrew в качестве SDK по умолчанию
Как и @EFreak, я установил android-sdk с помощью homebrew (менеджер пакетов для Mac). Мне нужно было сделать следующее, чтобы исправить ошибку, потому что я следовал инструкциям по nativescript и столкнулся с ошибкой. Если вы мне нравитесь, намеревайтесь использовать версию brew вместо версии android-sdk, используйте этот ответ (это позволит вам использовать
tns run android
api nativescripts ), и если вы хотите, чтобы android studio по умолчанию android-sdk следовал ответу @ EFreak.Настройка Android Studio для использования Android SDK Homebrew
В основном вам просто нужно изменить расположение Android SDK в Android Studio. Сначала откройте проект в андроид студии. Затем откройте SDK Manager, нажав эту кнопку.
Затем, когда появятся настройки по умолчанию для менеджера Android SDK, вам нужно нажать «Изменить» рядом с расположением Android SDK.
Поиск местоположения Android SDK от Homebrew
Затем вам нужно обновить местоположение SDK на экране установки компонентов SDK, мой
brew
Android-SDK был расположен здесь/usr/local/share/android-sdk
. Вы можете найти, где у вас установлен, запустивbrew cask info android-sdk
в нижней части вывода, он должен сказать:Значение переменной
export
edANDROID_SDK_ROOT
(которая здесь есть/usr/local/share/android-sdk
) является местоположением доморощенного андроида SDK.Затем вам нужно нажать кнопку «Расположение Android SDK» (обозначенную на рисунке как «1») и вставить в Android SDK Homebrew.
Затем просто завершите работу мастера, установив все пакеты. На этом этапе мне нужно было удалить и воссоздать эмуляторы моего устройства, но после этого все работало отлично.
Установка переменных среды Android SDK для указания на Android SDK от Homebrew
Также вы можете убедиться, что вы идете по маршруту Homebrew, что в вашем скрипте настроек профиля переменные
ANDROID_HOME
иANDROID_SDK_ROOT
окружения установлены на ваше местоположение Homebrew для android sdk, в противном случае вышеприведенное пока не будет работать. Это может переодеться с места Homebrew , если вы установили Homebrew перед установкой Android Studio , как указывалось в этом ответе по @Jamie броне . Вы можете проверить переменные среды для Android SDK установлены правильно, запустивecho $ANDROID_HOME
иecho $ANDROID_SDK_ROOT
и проверки того, что они оба показывают Homebrew расположение Android SDK.Если вам нужно изменить значения ANDROID_HOME и ANDROID_SDK_ROOT, вы можете сделать это в настройках своего профиля на вашем Mac, которые, вероятно, будут выглядеть примерно как
~/.bash_profile
«~ / .bashrc» или «~ / .profile» и определены следующим образом:Вам нужно изменить значения обоих экспортов на правильные значения местоположения Android SDK Homebrew, а затем сохранить файл. Чтобы убедиться, что правильные значения были записаны, вы должны сначала либо закрыть и открыть свой терминал, который должен перезапустить файл и сбросить переменные среды, либо вы можете получить файл, запустив
source <profile file name>
файл профиля, который вы отредактировали и сохранили. Затем вы можете перезапуститьecho $ANDROID_HOME
иecho $ANDROID_SDK_ROOT
убедиться, что у них есть доморощенный Android SDK местоположение.источник
tns run android.
Это работало на меня до того, как я запустил сценарий установки nativescript. Сценарий сломал много вещей -_-Это означает, что ваш путь к инструментам неверен. Вот как это выглядит на Mac с использованием Brew. Следите за версией.
В вашем случае это выглядит так:
источник
ANDROID_SDK_ROOT
установлен в.bash_profile
. Дажеecho $ANDROID_SDK_ROOT
дает правильный путь:/usr/local/Cellar/android-sdk/24.4.1_1
я использую macOS с HomeBrew.У меня была та же проблема в моем Windows10,
Решил мою проблему, следуя шагам ниже.
открытая Android - студия
- Инструменты
- SDK менеджер
- копия Android SDK Расположение
Android SDK Расположение
переменной набор среды системы
ANDROID_HOME и ANDROID_SDK_ROOT
системной переменной среды
источник
У меня была такая же проблема после обновления эмулятора. Проблема была решена после добавления переменной ANDROID_AVD_HOME
Важно: не-ASCII символы не могут быть использованы в пути. Наконец, переустановите виртуальные устройства или вручную переопределите путь к устройству в файле Configuration.ini, который содержит старый путь с не-ascii символами.
источник
Я запустил Android Studio в Windows 10, установил ANDROID_HOME и ANDROID_SDK_ROOT для переменных среды и все еще получил ошибку.
Оказывается, я забыл скачать устройство.
После загрузки "Отсутствует образ системы" все работает нормально.
источник
В моем случае он был сломан, потому что ANDROID_HOME и ANDROID_SDK_ROOT были разными, поэтому, как только я установил ANDROID_HOME таким же, как ANDROID_SDK_ROOT, он начал работать.
источник
Ответ Олега Черрса привел меня к решению. Как он упомянул
Я нашел соответствующий файл эмулятора * .ini в каталоге avd. Там я изменил запись "image.sysdir.1". Я заменил родственника абсолютным путем (добавьте перед ANDROID_SDK_ROOT). После этого эмулятор запускался из командной строки, как и ожидалось.
источник
C:\Users\edkol\.android\avd
но я не вижу ни одного config.ini - мне нужно добавить один? если так, где я могу получить это?Каталог Platfoms отсутствовал в / usr / local / share / android-sdk .
Я создал пустой каталог с именем платформы, который исправил проблему.
источник
Хорошо, я могу запустить Android из Cordova, я изменил ANDROID_HOME на,
источник
Вы должны добавить AVD Emulator. Перейти к этому месту:
Запустите AVD Manager и во второй вкладке (Определения устройств) нажмите на кнопку «Создать AVD».
источник
Я нахожусь в Windows 10, и проблема была в том, что в каталоге avd на моем компьютере были символы не ASCII.
Вот что нужно сделать:
Запустите cmd от имени администратора
Запустите следующую команду:
(Это создаст символическую связь между путем с не-ASCII символами и новым)
В переменные среды добавьте
ANDROID_AVD_HOME
переменную со значениемC:\\.android\avd
.источник
Просто столкнулся с этой проблемой сегодня и сумел ее решить.
Эмулятор: [140735565005632]: ОШИБКА: android / android-emu / android / qt / qt_setup.cpp: 28: библиотека Qt не найдена в / Users / your_user_name / Library / Android / sdk / emulator / lib64 / qt / lib
15:08 Эмулятор: не удалось запустить '/ Users / имя_пользователя / библиотека / Android / sdk / emulator / qemu / darwin-x86_64 / qemu-system-x86_64': такого файла или каталога нет
Решение было довольно простым. Просто установите эмулятор Android через Android Studio => инструменты => Android => менеджер SDK => инструменты SDK => выберите эмулятор Android => Применить
Я использую MacBook Pro на MacOS High Sierra, и я считаю, что ваша машина не имеет ничего общего с этой проблемой. Эмулятор явно не устанавливается при первом запуске менеджера установки Android Studio, по крайней мере для меня, с Android Studio 3.0.1
Также убедитесь, что ваши пути определены в вашем .bashrc или .zshrc следующим образом:
источник
Проверьте, что системный образ, используемый вашим AVD, был загружен в
$ANDROID_SDK_ROOT/system-images/
источник
У меня была та же проблема, которая после установки следующих переменных пути исчезла. Примечание. Путь AVD Home отличается от других трех.
источник
NativeScript
Для тех, у кого возникают проблемы с запуском эмулятора Android через NativeScript, скорее всего, env vars ANDROID_HOME и ANDROID_SDK_ROOT были переопределены.
Мне удалось создать проблему для себя, установив Android Studio для создания другого эмулятора. Я сделал это после того, как я уже установил Android SDK через домашний кофе.
Поэтому, если во время установки NativeScript вы выбрали установку Android SDK через HomeBrew, NativeScript установит вышеуказанное следующим образом:
Впоследствии при установке Android Studio эти значения будут переопределены следующим образом:
Поэтому, естественно, существует конфликт со студией Android и установкой NativeScript / Brew для Android SDK. Удаление одного или другого и / или проверка того, что переменная env содержит правильный путь, должна запустить ваш эмулятор.
источник
После довольно долгого времени пробуя другие "решения" Google, единственное , что сработало для меня, после установки переменной среды ANDROID_SDK_ROOT в Windows, а также добавления и удаления переменных ANDROID_HOME и ANDROID_SDK_HOME, был ответ Xerox23 - редактирование файла config.ini AVD для жесткого кода значение ANDROID_SDK_ROOT в свойстве image.sysdir.1.
При этом использовались Android Studio 3.0.1 и эмулятор 26.1.4, запускающие виртуальное устройство из AVD Manager из Android Studio.
источник
Для Windows-машины: после того, как вы попробуете много заданного пути, удалите путь и т. Д. Наконец, нужно найти папку
C:\Users\johndoe\.android
и удалить ее. после этого вы можете пообедать в своей Android Studio, она попросит вас загрузить и установить новый AVD, и она переопределит и создаст новую папку и файлы. Это решит проблему.источник
Чтобы решить эту проблему, мне пришлось установить пакет с отсутствующим образом системы, используя SDK Manager.exe (в «C: \ Program Files (x86) \ Android \ android-sdk»). Я заметил, что нужный образ системы («android-23») отсутствует в «C: \ Program Files (x86) \ Android \ android-sdk \ system-images».
После запуска SDK Manager.exe и установки соответствующих пакетов я смог запустить эмулятор в Android Studio.
Вот решение, которое сработало для меня:
https://www.embarcadero.com/starthere/xe5/mobdevsetup/android/en/creating_an_android_emulator.html
источник
Выполните следующие шаги, это должно решить вашу проблему
1.
2.
3.
источник
Я решил эту проблему, удалив файл
/usr/local/share/android-sdk
, потому что этот файл был создан, когда я пытался с homebrew.этого достаточно ....
источник
Откройте свою андроид-студию, затем сфокусируйтесь на панели инструментов.
Перейти к инструментам> SDK Manager затем
Внешний вид и поведение> Настройки системы> Android SDK
Теперь во вкладке скопируйте Android SDK Location отсюда Android SDK Location
затем перейдите к переменным среды и затем установите путь вместе с этими переменными
Переменные среды
источник
источник
ANDROID_SDK_HOME - это указатель на корень вашего файла «.android», который по умолчанию создается в «C: \ Users \ name \ .android», а НЕ в корень вашей папки SDK. Затем: - Назначить ANDROID_SDK_HOME для корневой папки SDK не будет работать. - Если путь к вашему файлу ".android" содержит символы не ASCII, он не будет работать. - Папка AVD должна быть внутри вашего текущего файла .android.
Так что ответ таков:
Приветствия.
источник
中国的小伙伴注意! 原因是AVD目录不能包含中文 Я попробовал все эти выше метод, и я все еще получаю ошибку, и мне интересно , если это потому , что мой AVD каталог содержит китайский Charactor. поэтому я изменил каталог avd по умолчанию с помощью следующих шагов, и это сработало. 1. создайте папку, путь к которой не содержит символов, отличных от ascii 2. скопируйте или обрежьте папку avd по умолчанию
$HOME/.android
ниже папки, которую вы только что создали 3. добавьте PATHADNDROID_SDK_HOME
, и студия Android найдет avd ниже $ ADNDROID_SDK_HOME / .android / avdнаконец то получилось! :>
источник
Исправление, если ваш пользователь содержит не-ASCII символы
Для людей, получающих «
PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT
», причиной этого может быть то, что ваш пользователь в пользователях содержит символы не ASCII .Поэтому папку SDK и папку .android с папкой AVD необходимо переместить в другую папку.
Изменение пути SDK:
Откройте Android Studio , перейдите к настройке и выберите SDK Manager. Измените текущее расположение Android SDK, например, на «C: \ Android \ Sdk» (или где-то еще, только не в папке пользователя, содержащей символы, отличные от ASCII) .
После этого добавьте следующие системные переменные:
Изменение пути AVD:
Чтобы изменить место расположения папки AVD (обычно помещается в «
C:\Users\<user name>\.android\avd
»), необходимо изменить место, в котором она.android
находится. Сначала закройте Android Studio , затем добавьте системную переменнуюANDROID_SDK_HOME
с путем к новому месту, где вы хотите.android
быть, например,C:\Android_SDK_HOME
как используется в другом примере:После того, как вы добавили это, запустите Android Studio . Затем закройте его снова. Теперь папка под названием
.android
должна была появиться.Следующее и последнее, что вам нужно сделать, это установить
ANDROID_AVD_HOME
системную переменную. В этом случае это будет вC:\Android_SDK_HOME\.android\avd
Я надеюсь, что это решит проблему для некоторых. :)
источник
Я столкнулся с этой проблемой, так как я делал React Native с первых дней. Google устарел инструменты командной строки и настаивает на Android студии. Решение для меня было удалить инструменты командной строки
rm -rf /usr/local/Cellar/android-sdk
rm /usr/local/bin/android
откройте AS установить SDK v6 в соответствии с инструкциями https://facebook.github.io/react-native/docs/getting-started.html#1-install-android-studio
сделайте новый AVD и он запустится без ошибок
источник
Ошибки на самом деле различаются. Полезно запустить
./emulator with -verbose
опцию, так как она покажет фактические ошибки.источник