it-roy-ru.com

Эмулятор в Android Studio не запускается после обновления инструментов SDK до 25.3.1

После сегодняшнего обновления инструментов Android SDK до 25.3.1 эмулятор больше не будет работать.

Я могу открыть AVD Manager. Когда я нажимаю «Play» на одном из эмуляторов в списке, я вижу панель ниже в Android Studio

enter image description here

Но затем, когда индикатор выполнения достигает конца, ничего не происходит.

В примечаниях к выпуску я вижу , что последнее обновление внесло изменения в эмулятор, поэтому мне интересно, если это ошибка, или я что-то упускаю из-за этого.

Я использую Android Studio 2.3.

Есть идеи?

24
Mateus Gondim

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

Сначала я попытался запустить эмулятор из командной строки:

$ emulator @<name_avd_image>
emulator: ERROR: This AVD's configuration is missing a kernel file! Please ensure the file "kernel-ranchu" is in the same location as your system image.
emulator: ERROR: Android_SDK_ROOT is defined (<Android>/sdk) but cannot find kernel file in <Android>/sdk/system-images/ sub directories

Вы можете получить больше информации, если запустите emulator с флагом -verbose. Я попытался переустановить образ системы (например, Android API 25 x86 с API Google), Android Emulator 25.3.1 и заново создать AVD, но ничего не получилось.

Наконец, в качестве обходного пути, я просто скопировал все системные файлы из каталога системных образов SDK в каталог AVD:

Пример: Pixel XL (Android API 25 x86 с API Google)
ИСТОЧНИК: <Android>/sdk/system-images/Android-25/google_apis/x86 /
DESTINATION: ~/.Android/avd/Pixel_XL_API_25.avd /

После этого эмулятор запустился. Это не идеально, но это блокировало мою разработку, поэтому мне пришлось снова запустить и запустить эмулятор. Я надеюсь, что кто-то еще сможет выяснить, что сломалось в конфигурации.


ОБНОВЛЕНИЕ: Разобрался с проблемой конфигурации! 

Я заметил, что периодически вижу консольную ошибку «Ваш эмулятор устарел, обновите его, запустив Android Studio:», поэтому я решил проверить:

$ which emulator
<$Android_SDK_ROOT>/tools/emulator

С помощью этой темы :

Проблема в том, что есть два эмулятора: один в $Android_SDK_ROOT/tools, еще один в $Android_SDK_ROOT/emulator. Тот, что в $Android_SDK_ROOT/tools не могу начать. Разместите $Android_SDK_ROOT/emulator перед $Android_SDK_ROOT/tools в вашей переменной $PATH, он должен исправить проблема.

ПРИМЕЧАНИЕ. Для большинства пользователей Mac вы можете отредактировать ~/.bash_profile, чтобы изменить эти настройки, а затем запустить $source ~/.bash_profile, чтобы загрузить обновления. В моем конкретном случае у меня также были старые значения $ Android_HOME, которые мне пришлось очистить.

24
Funktional

Реальная проблема, по крайней мере в Ubuntu 16.10 и 17.04 и Andoid Studio 2.4 Preview 7 (но может случиться с любым производным Debian и предыдущими версиями Android Studio), заключается в том, что Google распространяет нерабочую библиотеку libstdc ++ с эмулятором инструменты. Они распространяют версию 6.0.18, но я обнаружил, что рабочая версия - 6.0.22.

EDIT: есть сообщения, что 6.0.21 версия libstdc ++ работает так же, как 6.0.22.

Итак, у вас есть 2 варианта:

Опция 1

rm предыдущие не работающие библиотеки Google в/yoursdkpàth/emulator/lib64/libstdc ++ 

Загрузите и извлеките библиотеки из официального пакета libstdc ++ in/yoursdkpàth/emulator/lib64/libstdc ++ 

Не пытайтесь установить .deb, извлеките из него файлы/двоичные файлы (2 двоичных файла находятся в папке с именем «lib») и вручную скопируйте их по рекомендованному пути.

Вариант 2

Создайте симлинк на библиотеку, распространяемую с Ubuntu, которая уже является версией 6.0.22 

cd ~/Android/Sdk/emulator/lib64/libstdc++/

mv libstdc++.so.6 libstdc++.so.6.bak

mv libstdc++.so.6.0.18 libstdc++.so.6.0.18.bak

ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6 ~/Android/Sdk/emulator/lib64/libstdc++/libstdc++.so.6

ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.22 ~/Android/Sdk/emulator/lib64/libstdc++/libstdc++.so.6.0.22

ВАЖНО 1. Поскольку Google, похоже, не знает об этой проблеме, при каждом обновлении, которое они производят в пакете эмулятора Android в Android Studio, они нарушают функциональность, заменяя ваши рабочие библиотеки SDK C++ сломанными/старыми. Решение состоит в том, чтобы повторить любую из вышеуказанных процедур.

ВАЖНО 2: Это действительно только в том случае, если ваши AVD сконфигурированы для использования графического процессора вашего ПК в качестве хоста для ускорения видео (Hardware GLES 2.0). Выбор Sofware GLES 2.0 на вашем AVD будет работать без каких-либо предложенных изменений, но ваш эмулятор будет работать мучительно медленно.

20
Martin Revert

Вы проверяли эмулятор Android, установленный в ** SDK Tools

Зайдите в Настройка-> SDK-инструменты .

Посмотрите, установлен ли Android или нет.

У меня такая же проблема. когда я проверял SDK Tools, я обнаружил, что эмулятор Android не был установлен.

enter image description here

8
manmohan

libstdc++.so.6 является причиной (как указано @doruMarinau); Android Studio 2.3 переместил файл в новую папку your_sdk/emulator/lib64.

Если вы используете Linux, создайте для него символическую ссылку:

$ ln -sf /usr/lib/libstdc++.so.6  /your_sdk/emulator/lib64/libstdc++/libstdc++.so.6
6
icarus

Решение: Tools - Android - Sdk manager tab Sdk tools Установить эмулятор 25.3.1

3
iClaude

Это сработало для меня:

Перейдите в AVD Manager, затем в столбце «Действия» щелкните стрелку, указывающую на рассвет, и выберите «Очистить данные» . После этого попробуйте запустить эмулятор.

 enter image description here

2
Bruno Fernandez

Перейдите в Sdk/emulator/lib64/libstdc++, переместите libstdc++.so.6 и libstdc++.so.6.0.18 в мою папку (я создал это) (или в любое другое место) в качестве резервной копии и скопируйте libstdc++.so.6, libstdc++.so.6.0.21 из usr/lib64; попробуйте снова запустить ваше виртуальное устройство.

1
doruMarinau

Это ошибка libGL и проблема с libstdc ++. Невозможно запустить AVD в эмуляторе . Это известная ошибка, и вы можете легко справиться с ней, выполнив несколько простых шагов.

Я проверил это решение на 64-битной Ubuntu 16.10

Решение:

$adb kill-server
$adb start-server

После этого запустите свой эмулятор из студии Android. Если это не сработает, тогда переходите к следующему решению.

Альтернативное решение:

Сначала установите несколько пакетов и библиотек:

$Sudo apt-get install lib64stdc++6:i386
$Sudo apt-get install mesa-utils

Во-вторых, настройте некоторые ссылки:

$ cd YOURPATH/Android/Sdk/tools/lib64
$ mv libstdc++/ libstdc++.bak
$ ln -s /usr/lib64/libstdc++.so.6  libstdc++

В-третьих, перезапустите устройство AVD и протестируйте его.

1
Arvind M V

Единственное решение, которое работало для меня, состояло в том, чтобы установить следующие недостающие библиотеки: 

$Sudo apt-get install lib64stdc++6:i386
$Sudo apt-get install mesa-utils

Как только они появятся, обновите файл в эмуляторе SDK следующим образом: 

$ ln -sf /usr/lib/libstdc++.so.6  /home/[YOUR_SYSTEM_USERNAME]/emulator/lib64/libstdc++/libstdc++.so.6

Запустите ваш эмулятор снова, и он будет работать нормально. 

0
abhilvare

Начиная с этого выпуска, эмулятор Android будет выпущен отдельно от SDK Tools ........ поэтому просто установите эмулятор Android с помощью инструментов SDK в своей студии Android

0
alacoo

Это сводило меня с ума в течение последних нескольких дней. Вот что сработало для меня: 

Переменные Android_HOME, Android_SDK_ROOT в «Системных переменных среды» отличались от Android Studio -> Settings -> Android SDK Location. Поэтому, когда я изменил переменные окружения, начался AVD!

(После изменения переменной среды необходимо перезапустить Android Studio) 

0
Zolbayar

Моя проблема заключалась в том, что Android_SDK_HOME указывал на d:\.Android вместо d:\. Не могу найти изображения больше.

0
DSchmidt