ПАНИКА: Сломанный путь системы AVD. Проверьте значение ANDROID_SDK_ROOT


151

После ввода 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?


Вам удается запустить эмулятор с помощью AVD Manager? (Находится в <AndroidSDK> \ AVD Manager.exe)
e666

4
Я сталкиваюсь с этой же проблемой в Visual Studio, а также при создании кроссплатформенного приложения. Мой текст ошибки1>PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT 1>Emulator Nexus_5X_API_23 cannot be started.
RBT

Я только что открыл Android SDK manager и установил все, что там было (Инструменты, Различные уровни API, Дополнения). Буквально! Это решило мою проблему. Хотя после этого у меня возникли другие проблемы, связанные с технологией Intel HAXM, необходимой для работы эмуляторов Android. Они должны быть решены по-другому.
RBT


2
Я могу запустить AVD через Android Studio. Я получаю эту ошибку при попытке запуска из командной строки. Там ошибка, 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. Таким образом, эмулятор падает, хотя путь правильный.
Майк С.

Ответы:


163

При перемещении AVD или SDK в другой каталог или при замене старого SDK новым или при повреждении SDK может возникнуть несколько разных проблем.

Ниже я опишу все возможные проблемы, которые я знаю, и дам несколько способов их решения.

Конечно, я предполагаю, что у вас есть созданный AVD, и он находится в C:\Users\<user_name>\.android\avd(Windows) или ~/.android/avd(Linux / MacOS).

Если вы переехали .androidв другое место, установите для ANDROID_SDK_HOMEпеременной среды путь родительского каталога, в котором находится ваш файл, .androidи убедитесь, что AVD Manager успешно обнаружил ваше виртуальное устройство.

Также проверьте пути в <user_home>/.android/avd/<avd_name>.ini


Неполная / поврежденная структура SDK

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

Эти 2 ошибки происходят, если эмулятор не может найти SDK или SDK поврежден.

Итак, прежде всего, я рекомендую удалить ANDROID_SDK_ROOTпеременную вообще. Это нужно только тогда, когда эмулятор находится за пределами каталога SDK. Но в целом, ваш эмулятор остается внутри директории SDK. И в этом случае он должен автоматически определять местоположение SDK . Если это не так, то ваш SDK, вероятно, имеет неправильное файловое дерево. Пожалуйста, сделайте следующее:

  1. Убедитесь , что каталог SDK имеет , по крайней мере , эти 4 директории: emulator, platforms, platform-tools, system-images. Это очень важно! Эти каталоги должны присутствовать. Если некоторых из них не существует, просто создайте пустые каталоги.

  2. Иди <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 не установлены

Следующая проблема, с которой вы можете столкнуться, заключается в том, что эмулятор начинает запускаться, но зависает или сразу же завершает работу. Это, вероятно, означает, что у вас не установлены все необходимые пакеты.

Другая возможная ошибка:

Не удалось автоматически обнаружить двоичный файл ADB. Некоторые функции эмулятора не будут работать, пока на странице расширенных настроек не будет добавлен пользовательский путь к ADB.

Итак, чтобы успешно запустить любой AVD, вы должны быть уверены, что установлены хотя бы следующие пакеты:

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

И, как я упоминал ранее, вы должны установить образы системы, которые использует ваш AVD, например system-images;android-25;google_apis;x86

Обратите внимание, что самые последние версии SDK не имеют отдельной версии SDK Manager.exe. Вместо этого вы должны либо использовать Android Studio, либо tools\bin\sdkmanager.bat(возможно, в Linux / MacOS есть shфайлы).

Для просмотра всех доступных пакетов используйте sdkmanager --listилиsdkmanager --list --verbose

Для установки пакетов используйте sdkmanager <package1> <package2> ...

Также я рекомендую установить HAXM на вашу систему вручную.


Qcow2-файлы ссылаются на неправильные / несуществующие базовые образы

Последняя проблема, о которой я упомяну, возникает, когда вы пытаетесь переместить AVD или SDK с одного компьютера или каталога на другой. В этом случае вы можете получить такую ​​ошибку:

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, только для чтения: не удалось открыть файл поддержки: не удалось открыть ' <old_sdk_dir>\system-images\android-22\google_apis\x86\system.img': неверный аргумент

Есть 2 способа это исправить:

  1. Если вас не волнуют данные, которые содержит AVD, просто удалите все qcow2файлы из каталога AVD (например, из <user_home>/.android/avd/<avd_name>). В этом случае вы получите чистую версию Android, как после полной перезагрузки.

  2. Если для вас важны данные на эмуляторе, откройте все qcow2файлы по одному с помощью любого редактора HEX (я предпочитаю HxD ), найдите путь к базовому imgфайлу и измените его на правильный в Overwriteрежиме (чтобы сохранить размер файла). Затем выберите путь и получите его длину в шестнадцатеричном формате (например 2F). 2Fпредставляет косую черту ASCII /. Поместите это в положение 13:

Редактируйте файлы Android qcow2, используя HxD HEX редактор

PS: Не уверен, но, вероятно, есть некоторые утилиты, такие как qemu-img, позволяющие установить другое базовое изображение. Ну, мне проще редактировать бинарный файл вручную.


Теперь вы, вероятно, сможете успешно запустить виртуальное устройство Android. Я надеюсь, что это так :)


Другая причина может отсутствовать hw.cpu.archв config.ini
daserge

2
Я следовал всем инструкциям, и у меня все еще не работает системный путь AVD.
катится

Потрясающие. Отлично с базовыми файлами qcow! Знаете ли вы о более общем способе перебазирования файлов qcow? Я хотел бы поделиться своим AVD с несколькими людьми ...
Амит Моран

@daserge al. У моих файлов '.ini' странный формат (после каждого параметра в них нет разрывов строки), это нормально / нормально?
J3STER

1
Спасибо, в моем случае отсутствовала папка platform-tools, поэтому я установил ее с помощью команды tools/bin/sdkmanager "platform-tools". Было так тяжело найти что-то не так из-за этого глупого сообщения об ошибке («ПАНИКА: не удается найти системный путь AVD. Пожалуйста, определите ANDROID_SDK_ROOT»), в котором неясно сказано, в чем проблема ...
baptx

129

На Mac: я установил android-sdkс использованием, brewа также Android Studio. Каким-то образом наличие 2 установок было причиной этой проблемы. Когда я удалил мою установку brew sdk, используя brew cask uninstall android-sdkи добавил следующие переменные в мою среду. Это сработало.

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

18
Ранее я установил Android SDK с помощью Brew, следуя инструкциям по Nativescript. После установки Android Studio я обнаружил, что эмулятор не запускается. Ваше исправление решило мою проблему. Спасибо!
Кокосовый

2
Это сработало и для меня. Я также установил android-sdkво время установки NativeScript. Теперь эмулятор запускается прямо из Android Studio, но не через NativeScript (tns run android)
Mudlabs

3
Это решило мою проблему, но без удаления версии brew android-sdk.
mrisek

1
инструменты командной строки устарели. Лучший шаг вперед - правильно установить AS и избегать бочки для приготовления кофе facebook.github.io/react-native/docs/…
Гарри Морено

1
После долгих поисков это наконец решило нашу проблему. Огромное спасибо!!!
user3575337

27

Это решит вашу проблему в 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
После многих многих попыток, это была единственная работа, большое спасибо: D
Алан Кордова

Работает отлично Спасибо.
Герман Демсонг

@SundayOkoi это идет в вашем домашнем каталоге
1800 ИНФОРМАЦИЯ

То же самое со мной. Это работает для меня. Хотя я сделал небольшие изменения в этом.
Эдпер

15

Устранение ошибки при использовании Android SDK от Homebrew в качестве SDK по умолчанию

Как и @EFreak, я установил android-sdk с помощью homebrew (менеджер пакетов для Mac). Мне нужно было сделать следующее, чтобы исправить ошибку, потому что я следовал инструкциям по nativescript и столкнулся с ошибкой. Если вы мне нравитесь, намеревайтесь использовать версию brew вместо версии android-sdk, используйте этот ответ (это позволит вам использовать tns run androidapi nativescripts ), и если вы хотите, чтобы android studio по умолчанию android-sdk следовал ответу @ EFreak.

Настройка Android Studio для использования Android SDK Homebrew

В основном вам просто нужно изменить расположение Android SDK в Android Studio. Сначала откройте проект в андроид студии. Затем откройте SDK Manager, нажав эту кнопку.

расположение кнопки Android SDK Manager

Затем, когда появятся настройки по умолчанию для менеджера Android SDK, вам нужно нажать «Изменить» рядом с расположением Android SDK.

введите описание изображения здесь

Поиск местоположения Android SDK от Homebrew

Затем вам нужно обновить местоположение SDK на экране установки компонентов SDK, мой brewAndroid-SDK был расположен здесь /usr/local/share/android-sdk. Вы можете найти, где у вас установлен, запустив brew cask info android-sdkв нижней части вывода, он должен сказать:

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"'

Значение переменной exported ANDROID_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» и определены следующим образом:

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

Вам нужно изменить значения обоих экспортов на правильные значения местоположения Android SDK Homebrew, а затем сохранить файл. Чтобы убедиться, что правильные значения были записаны, вы должны сначала либо закрыть и открыть свой терминал, который должен перезапустить файл и сбросить переменные среды, либо вы можете получить файл, запустив source <profile file name>файл профиля, который вы отредактировали и сохранили. Затем вы можете перезапустить echo $ANDROID_HOMEи echo $ANDROID_SDK_ROOTубедиться, что у них есть доморощенный Android SDK местоположение.


3
Вы герой! Документы NativeScript совершенно не упоминают об этом аспекте.
Джейми Берч

Я не думаю, что вам нужна установка brew для запуска. tns run android.Это работало на меня до того, как я запустил сценарий установки nativescript. Сценарий сломал много вещей -_-
Фелипе Сентено

1
@FelipeCenteno да, тебе не нужно варево, чтобы сделать это. Это просто, как вы делаете это, если вы уже установили все Android SDK с Brew. Вы можете использовать ответ EFreaks, если вы просто используете SDK по умолчанию для Android Studio.
Джон

14

Это означает, что ваш путь к инструментам неверен. Вот как это выглядит на Mac с использованием Brew. Следите за версией.

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

В вашем случае это выглядит так:

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

3
Ошибка все та же. Кроме того, я дважды проверил и ANDROID_SDK_ROOTустановлен в .bash_profile. Даже echo $ANDROID_SDK_ROOTдает правильный путь: /usr/local/Cellar/android-sdk/24.4.1_1 я использую macOS с HomeBrew.
Шивам Махешвари

12

У меня была та же проблема в моем Windows10,
Решил мою проблему, следуя шагам ниже.
открытая Android - студия
- Инструменты
- SDK менеджер
- копия Android SDK Расположение
Android SDK Расположение
переменной набор среды системы
ANDROID_HOME и ANDROID_SDK_ROOT
системной переменной среды


У меня та же проблема. Спасибо.
Джейсон Чинг

Я столкнулся с той же проблемой и решил эти инструкции.
Суку

8

У меня была такая же проблема после обновления эмулятора. Проблема была решена после добавления переменной ANDROID_AVD_HOME введите описание изображения здесь

Важно: не-ASCII символы не могут быть использованы в пути. Наконец, переустановите виртуальные устройства или вручную переопределите путь к устройству в файле Configuration.ini, который содержит старый путь с не-ascii символами.

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

Да, не-ASCII символы это важно. После удаления этих символов все работает нормально. Как удалить superuser.com/questions/1355431/…
Alex Z

8

Я запустил Android Studio в Windows 10, установил ANDROID_HOME и ANDROID_SDK_ROOT для переменных среды и все еще получил ошибку.

Оказывается, я забыл скачать устройство.

введите описание изображения здесь

введите описание изображения здесь

После загрузки "Отсутствует образ системы" все работает нормально.


2
о Господи. Я установил так много переменных окружения, которые не нужно было устанавливать. все, что мне нужно было сделать, это загрузить что-то. Спасибо.
Энди

7

В моем случае он был сломан, потому что ANDROID_HOME и ANDROID_SDK_ROOT были разными, поэтому, как только я установил ANDROID_HOME таким же, как ANDROID_SDK_ROOT, он начал работать.


1
Да, спасибо, это работает для меня, и, как сказал @Blagojce, я добавил, что C: \ Users \% username% \ AppData \ Local \ Android \ sdk \ в обеих переменных ANDROID_HOME и ANDROID_SDK_ROOT
Абдельхади Абдо

Это исправило и для меня тоже. Скорее всего, перед установкой Visual Studio / Xamarin у меня установлен Android SDK.
thowa

6

Ответ Олега Черрса привел меня к решению. Как он упомянул

Перейдите в /.android/avd/ и откройте config.ini. Найдите свойство> image.sysdir.1. Он указывает на каталог внутри SDK, содержащий system> images. Убедитесь, что этот каталог существует и содержит такие файлы, как build.prop,> system.img и т. Д. Если этого не происходит, вам нужно открыть SDK Manager и> загрузить образы системы, необходимые для вашего AVD (см. Ниже).

Я нашел соответствующий файл эмулятора * .ini в каталоге avd. Там я изменил запись "image.sysdir.1". Я заменил родственника абсолютным путем (добавьте перед ANDROID_SDK_ROOT). После этого эмулятор запускался из командной строки, как и ожидалось.


У меня тоже сработало, единственное решение, которое работает под WIN10 x64 со всеми правильно установленными переменными PATH. (К вашему сведению: я добавил абсолютный путь к ANDROID_SDK_ROOT вместо самой переменной)
Макс

Я пошел, C:\Users\edkol\.android\avdно я не вижу ни одного config.ini - мне нужно добавить один? если так, где я могу получить это?
Эколис

6
  • Каталог Platfoms отсутствовал в / usr / local / share / android-sdk .

  • Я создал пустой каталог с именем платформы, который исправил проблему.


5

Хорошо, я могу запустить Android из Cordova, я изменил ANDROID_HOME на,

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

5

Вы должны добавить AVD Emulator. Перейти к этому месту:

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

Запустите AVD Manager и во второй вкладке (Определения устройств) нажмите на кнопку «Создать AVD».


4

Я нахожусь в Windows 10, и проблема была в том, что в каталоге avd на моем компьютере были символы не ASCII.

Вот что нужно сделать:

Запустите cmd от имени администратора

Запустите следующую команду:

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

(Это создаст символическую связь между путем с не-ASCII символами и новым)

В переменные среды добавьте ANDROID_AVD_HOMEпеременную со значением C:\\.android\avd.


3

Просто столкнулся с этой проблемой сегодня и сумел ее решить.

Эмулятор: [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 следующим образом:

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

Проверьте, что системный образ, используемый вашим AVD, был загружен в $ANDROID_SDK_ROOT/system-images/


2

У меня была та же проблема, которая после установки следующих переменных пути исчезла. Примечание. Путь AVD Home отличается от других трех.

введите описание изображения здесь


2

NativeScript

Для тех, у кого возникают проблемы с запуском эмулятора Android через NativeScript, скорее всего, env vars ANDROID_HOME и ANDROID_SDK_ROOT были переопределены.

Мне удалось создать проблему для себя, установив Android Studio для создания другого эмулятора. Я сделал это после того, как я уже установил Android SDK через домашний кофе.

Поэтому, если во время установки NativeScript вы выбрали установку Android SDK через HomeBrew, NativeScript установит вышеуказанное следующим образом:

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

Впоследствии при установке Android Studio эти значения будут переопределены следующим образом:

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

Поэтому, естественно, существует конфликт со студией Android и установкой NativeScript / Brew для Android SDK. Удаление одного или другого и / или проверка того, что переменная env содержит правильный путь, должна запустить ваш эмулятор.


1

После довольно долгого времени пробуя другие "решения" 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.


1

Для Windows-машины: после того, как вы попробуете много заданного пути, удалите путь и т. Д. Наконец, нужно найти папку C:\Users\johndoe\.androidи удалить ее. после этого вы можете пообедать в своей Android Studio, она попросит вас загрузить и установить новый AVD, и она переопределит и создаст новую папку и файлы. Это решит проблему.


Привет, хороший совет. Все мы со старыми установками должны сделать это. После следования и неудачи с другими рецептами ваш ответ делает свое дело. Спасибо!
lm2a

1

Чтобы решить эту проблему, мне пришлось установить пакет с отсутствующим образом системы, используя 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

Выполните следующие шаги, это должно решить вашу проблему

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

Я решил эту проблему, удалив файл /usr/local/share/android-sdk, потому что этот файл был создан, когда я пытался с 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

этого достаточно ....


1

Откройте свою андроид-студию, затем сфокусируйтесь на панели инструментов.

Перейти к инструментам> SDK Manager затем

Внешний вид и поведение> Настройки системы> Android SDK

Теперь во вкладке скопируйте Android SDK Location отсюда Android SDK Location

затем перейдите к переменным среды и затем установите путь вместе с этими переменными

  1. ANDROID_HOME
  2. ANDROID_SDK_ROOT

Переменные среды


1
  1. Удалить ранее созданные устройства.
  2. Закрыть Android-студию.
  3. Откройте: Панель управления -> Система и безопасность -> Система -> Расширенные настройки системы -> Переменные среды.
  4. Создайте новую переменную «ANDROID_SDK_HOME» и установите новый путь (в моем случае это было F: \ Coding2019 \ Android \ AVDdevices). Нажмите «ОК».
  5. Откройте Android Studio.
  6. Создать новое устройство. После создания в выпадающем меню нажмите «View Details», чтобы увидеть новый путь нового AVD.

1

ANDROID_SDK_HOME - это указатель на корень вашего файла «.android», который по умолчанию создается в «C: \ Users \ name \ .android», а НЕ в корень вашей папки SDK. Затем: - Назначить ANDROID_SDK_HOME для корневой папки SDK не будет работать. - Если путь к вашему файлу ".android" содержит символы не ASCII, он не будет работать. - Папка AVD должна быть внутри вашего текущего файла .android.

Так что ответ таков:

  • При необходимости измените папку SDK, как и предыдущие ответы (внутри проекта на Android Studio).
  • Закройте Android Studio.
  • Панель управления> Система> Расширенные настройки системы> Переменные среды.
  • Добавьте новую переменную пользователя: Имя переменной: ANDROID_SDK_HOME Значение переменной: C: \ src (или любая папка, в которой нет проблем с символами, отличными от ASCII или привилегиями SO) !
  • Откройте Android Studio. Убедитесь, что в вашем новом месте была создана папка с именем .android.
  • Удалите виртуальное устройство Android (AVD), которое вы создали.
  • Закройте и откройте Android Studio.
  • Создайте новый AVD и увидите, как происходит волшебство.

Приветствия.


1

中国的小伙伴注意! 原因是AVD目录不能包含中文 Я попробовал все эти выше метод, и я все еще получаю ошибку, и мне интересно , если это потому , что мой AVD каталог содержит китайский Charactor. поэтому я изменил каталог avd по умолчанию с помощью следующих шагов, и это сработало. 1. создайте папку, путь к которой не содержит символов, отличных от ascii 2. скопируйте или обрежьте папку avd по умолчанию $HOME/.androidниже папки, которую вы только что создали 3. добавьте PATH ADNDROID_SDK_HOME, и студия Android найдет avd ниже $ ADNDROID_SDK_HOME / .android / avd

наконец то получилось! :>


1

Исправление, если ваш пользователь содержит не-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) .

После этого добавьте следующие системные переменные:

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

Изменение пути AVD:

Чтобы изменить место расположения папки AVD (обычно помещается в « C:\Users\<user name>\.android\avd»), необходимо изменить место, в котором она .androidнаходится. Сначала закройте Android Studio , затем добавьте системную переменную ANDROID_SDK_HOMEс путем к новому месту, где вы хотите .androidбыть, например, C:\Android_SDK_HOMEкак используется в другом примере:

ANDROID_SDK_HOME C:\Android_SDK_HOME

После того, как вы добавили это, запустите Android Studio . Затем закройте его снова. Теперь папка под названием .androidдолжна была появиться.

Следующее и последнее, что вам нужно сделать, это установить ANDROID_AVD_HOMEсистемную переменную. В этом случае это будет вC:\Android_SDK_HOME\.android\avd

ANDROID_AVD_HOME C:\Android_SDK_HOME\.android\avd

Я надеюсь, что это решит проблему для некоторых. :)


Брат, спасибо тебе большое. Я просто погуглил эту проблему и перешел на ваш свежий пост, и это сработало!
JangoCG

0

Я столкнулся с этой проблемой, так как я делал 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 и он запустится без ошибок


0

Ошибки на самом деле различаются. Полезно запустить ./emulator with -verboseопцию, так как она покажет фактические ошибки.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.