ПАНІКА: Зірваний системний шлях 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

Я щойно відкрив менеджер SDK для Android і встановив усе, що там було (Інструменти, різні рівні API, додаткові елементи). Буквально! Це вирішило мою проблему. Хоча після цього я зіткнувся з подальшими проблемами, пов’язаними з технологією HAXM від Intel, необхідною для роботи емуляторів Android. Їх доводиться вирішувати інакше.
RBT


2
Я можу запустити avd через студію Android. Я отримую цю помилку при спробі запуску з командного рядка. Є помилка 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змінну середовища на шлях батьківського dir, що містить ваш, .androidі переконайтеся, що менеджер AVD успішно знайшов ваше віртуальне пристрій.

Також перевірте шляхи в <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 та завантажити системні зображення, необхідні вашому 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 = небезопасно, index = 0, id = система, 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': Неправильний аргумент

Є два способи виправити це:

  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
Дякую, в моєму випадку папка інструментів платформи відсутня, тому я встановив її командою tools/bin/sdkmanager "platform-tools". Був такий біль знайти те, що було не так через це дурне повідомлення про помилку ("PANIC: Неможливо знайти системний шлях AVD. Будь-ласка, визначте ANDROID_SDK_ROOT"), що не було чітко сказати, у чому проблема ...
baptx

128

На Mac: я встановив, як android-sdkза допомогою brewAndroid Studio. Якось наявність цієї установки спричинила цю проблему. Коли я видалив власну установку SDK за допомогою brew cask uninstall android-sdkта додав наступні варіанти до моєї програми. Це спрацювало.

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

18
Раніше я встановив Android sdk за допомогою варіння, дотримуючись підручника з Nativescript. Після встановлення Android Studio я виявив, що емулятор не запускається. Виправлення вирішило мою проблему. Дякую!
Cocoanut

2
Це працювало і для мене. Я також встановив android-sdkпід час встановлення NativeScript. Емулятор запускається прямо з Android Studio, але не через NativeScript (tns run android)
Mudlabs

3
Це вирішило мою проблему, але не видаляючи версію android-sdk Brew.
mrisek

1
інструменти командного рядка застарілі. Найкраще рухатись вперед - це правильно встановити AS і уникати завареної каски facebook.github.io/react-native/docs/…
Гаррі Морено

1
Після багатьох пошуків це остаточно вирішило нашу проблему. Дуже дякую!!!
користувач3575337

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
Алан Кордова,

Відмінно працює Спасибі
Herman Demsong

@SundayOkoi йде у вашому домашньому каталозі
1800 ІНФОРМАЦІЯ

В мене так само. Цей працює для мене. Хоча на цьому я вніс незначні зміни.
Едпер

15

Видалення помилки під час використання Android SDK Homebrew як SDK за замовчуванням

Як @EFreak я встановив android-sdk з homebrew (менеджер пакунків для Mac). Мені потрібно було виконати наведене нижче, щоб виправити помилку, тому що я слідкував за підручниками нативного сценарію і натрапив на помилку. Якщо вам подобається, що я маю намір використовувати версію заварки над версією android-sdk, скористайтеся цією відповіддю (це дозволить вам використовувати натив сценарії tns run androidapi), а якщо ви хочете, щоб андроїд-студія за замовчуванням android-sdk дотримуйтесь @ відповіді EFreak.

Налаштування Android Studio для використання SDK для Android Homebrew

В основному вам потрібно просто змінити місце розташування SDK для Android в студії Android. Спочатку відкрийте проект у студії android. Потім відкрийте диспетчер SDK, натиснувши цю кнопку.

розташування кнопок менеджера Android sdk

Далі, коли з'являться налаштування за замовчуванням для менеджера SDK для android, вам потрібно натиснути "Редагувати" поруч із місцем SDK для android.

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

Пошук місця розташування програми SDK для Android Homebrew

Далі вам потрібно фактично оновити розташування sdk на екрані налаштування компонентів brewsdk, тут знаходився мій android-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 в домашніх умовах.

Потім потрібно натиснути кнопку Місце розташування SDK для Android (позначена як 1 на малюнку) та вставити в місце розташування Android SDK Homebrew.

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

Потім просто закінчіть майстра, встановивши будь-які пакунки. На цьому кроці мені потрібно було видалити та відтворити емулятори своїх пристроїв, але, здавалося, це спрацювало чудово.

Встановлення змінних середовищ Android SDK для вказівки на SDK Homebrew для Android

Крім того, ви можете переконатися, що ви їдете по маршруту Homebrew, що сценарій налаштувань профілю має змінні ANDROID_HOMEта ANDROID_SDK_ROOTоточення, встановлені на ваше місце розташування Homebrew в android sdk, інакше все ще не працюватиме. Це можна змінити з місця розташування Homebrew, якщо ви встановили Homebrew перед встановленням Android Studio, як зазначено у цій відповіді від @Jamie Armor . Ви можете перевірити змінні середовища для 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"

Вам потрібно змінити значення обох експорту на відповідні значення розташування SDK Homebrew android SDK, а потім зберегти файл. Щоб переконатися, що потрібні значення були записані, слід спочатку закрити і відкрити свій термінал, який повинен перезапустити файл і скинути змінні середовища, або ви можете джерело файлу, запустивши, source <profile file name>де знаходиться файл профілю, який ви редагували та зберігали. Потім ви можете повторно запустити echo $ANDROID_HOMEта echo $ANDROID_SDK_ROOTпереконатися, що вони мають розташування Homebrew android sdk.


3
Ти герой! Документи NativeScript повністю нехтують згадкою про цей аспект.
Джеймі Береза

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

1
@FelipeCenteno Так, для цього вам не потрібно заварювати. Це так, як ви це зробите, якщо ви вже встановили всі Android sdk з brew. Ви можете скористатися відповіддю EFreaks, якщо ви просто використовуєте SDK студії Android за замовчуванням.
Джон

14

Це означає, що ваш шлях до інструментів неправильний. Ось як це виглядає на mac за допомогою варіння. Зверніть увагу на версію.

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 Studio
- Інструменти
- Диспетчер SDK
- скопіюйте Android SDK Location
Android SDK Location
набір змінних системного середовища
ANDROID_HOME та ANDROID_SDK_ROOT
змінної системного середовища


У мене те саме питання. Дякую.
Джейсон Чінг

Я зіткнувся з тим же питанням і вирішив ці вказівки.
SuKu

8

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

Важливо: символи, що не належать до ASCII, не можна використовувати в шляху. Нарешті перевстановіть віртуальні пристрої або вручну перекресліть шлях пристрою у файлі Configuration settings.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: \ Користувачі \% ім'я користувача% \ AppData \ Local \ Android \ sdk \ в обох змінних ANDROID_HOME та ANDROID_SDK_ROOT
Абдельхаді Абдо

Це виправило і для мене. Швидше за все, у мене встановлений датський пакет SDK для Android перед установкою Visual Studio / Xamarin.
Тхова

6

Відповідь Олега Черрса привела мене до рішення. Як він згадував

Перейдіть до /.android/avd/ та відкрийте config.ini. Знайдіть властивість> image.sysdir.1. Він вказує на каталог всередині SDK, що містить систему> зображення. Переконайтеся, що цей каталог існує та містить такі файли, як build.prop,> system.img тощо. Якщо цього немає, потрібно відкрити диспетчер SDK і> завантажити системні зображення, необхідні для AVD (див. Нижче).

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


Для мене теж працювало єдине рішення, яке працює в режимі WIN10 x64 з коректно встановленими всіма змінними PATH. (FYI: Я додав абсолютний шлях ANDROID_SDK_ROOT замість самої змінної)
Max Methot

Я перейшов, C:\Users\edkol\.android\avdале не бачу жодного config.ini - мені потрібно додати його? якщо так, то де я можу його отримати?
ekolis

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

  • Я створив порожній каталог з назвою платформ, який вирішив проблему.


5

Ок, я можу запустити андроїд з кордова, я змінив ANDROID_HOME на,

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

5

Вам слід додати AVD-емулятор. Перейдіть до цього місця:

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

запустіть AVD Manager і на другій вкладці (Визначення пристрою) натисніть кнопку «Створити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 / your_user_name / Library / Android / sdk / emulator / qemu / darwin-x86_64 / qemu-system-x86_64': такого файлу чи каталогу немає

Рішення було досить простим. Просто встановіть емулятор Android через Android Studio => інструменти => Android => Менеджер SDK => Інструменти SDK => виберіть Android Emulator => Застосувати

Я використовую 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

3

Я в Windows 10, і проблема полягала в тому, що в каталозі avd на моєму комп’ютері в ньому були не ASCII символи.

Ось що робити:

Запустіть cmd як адміністратор

Виконайте таку команду:

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

(Це створить символічний зв’язок між контуром із символами, що не належать до ASCII, та новим)

У середовищі змінні додають ANDROID_AVD_HOMEзмінну зі значенням C:\\.android\avd.


2

Перевірте, чи завантажено системне зображення, використовуване вашим AVD $ANDROID_SDK_ROOT/system-images/


2

У мене був той самий випуск, який після встановлення наступних змінних шляхів зник, Примітка AVD Домашній шлях відрізняється від інших трьох.

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


2

NativeScript

Для всіх, хто має проблеми з запуском емулятора андроїда через NativeScript, ймовірно, буде переосмислено середовище 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

Після доволі тривалого часу випробування інших "рішень" Googled, єдине , що працювало для мене, після встановлення змінної середовища 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

Відкрийте студію Android, а потім зосередьтеся на панелі інструментів.

Перейдіть до інструментів> диспетчер SDK

Зовнішній вигляд та поведінка> Налаштування системи> SDK для Android

Тепер на вкладці скопіюйте 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. Створіть новий пристрій. Після створення у спадному меню натисніть "Переглянути деталі", щоб побачити новий шлях нового AVD.

1

ANDROID_SDK_HOME - вказівник на корінь вашого файлу ".android", який за замовчуванням створюється у "C: \ Користувачі \ ім'я \ .android", а НЕ до кореня папки SDK. Потім: - Призначте ANDROID_SDK_HOME в кореневій папці SDK не працюватиме. - Якщо шлях вашого файлу ".android" має символи, що не належать до ASCII, він не працюватиме. - Папка AVD повинна знаходитись у поточному файлі ".android".

Тож відповідь така:

  • Змініть папку SDK, якщо вам потрібно, як і попередні відповіді (всередині проекту в Android Studio).
  • Закрийте Android Studio.
  • Панель управління> Система> Додаткові параметри системи> Змінні середовища.
  • Додайте нову змінну користувача: Ім'я змінної: ANDROID_SDK_HOME Значення змінної: C: \ src (або будь-яка папка, яка не має проблем з символами, що не належать до ASCII, або ТАК). !
  • Відкрийте Android Studio. Переконайтесь, що папка під назвою ".android" створена у вашому новому місці.
  • Видаліть створений вами віртуальний пристрій Android (AVD).
  • Закрийте та відкрийте Android Studio.
  • Створіть новий AVD і подивіться, що чарівне відбувається.

Ура.


1

中文 的 小 伙伴 注意! 原因 是 avd 目录 不能 包含 中文 Я спробував усі ці методи вище, і я все-таки отримую помилку, і мені цікаво, чи це тому, що мій каталог avd містить китайський charactor. тому я змінюю каталог avd за замовчуванням за наступними кроками, і він працював. 1. створити папку, шлях якої не містить символів non-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. Змініть поточне місце розташування SDK для Android, наприклад, "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

відкрити як встановити 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.