Эмулятор в Android Studio не запускается после обновления инструментов SDK до 25.3.1
После обновления моих Android SDK сегодня до 25.3.1 эмулятор больше не будет запускаться.
Я могу открыть AVD Manager. Когда я нажимаю "Play" на одном из эмуляторов в списке, я вижу панель ниже на Android Studio
![введите описание изображения здесь]()
Но после того, как индикатор выполнения достигнет конца, ничего не произойдет.
Я вижу в примечания к выпуску, что последнее обновление внесло изменения в эмулятор, поэтому мне интересно, если это ошибка или я что-то об этом.
Я использую Android Studio 2.3.
Любые идеи?
Ответы
Ответ 1
Я столкнулся с той же проблемой после обновления. Я не могу понять, что вызывает проблему конфигурации, но я нашел способ обхода.
Сначала я попытался запустить эмулятор из командной строки:
$ emulator @<name_avd_image>
emulator: ERROR: This AVD 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
. Я попытался переустановить образ системы (например, API Android 25 x86 с API Google), Android Emulator 25.3.1 и повторно создать AVD, но ничего не получилось.
Наконец, в качестве обходного пути я просто скопировал все системные файлы из каталога образов системы SDK в каталог AVD:
Пример: Pixel XL (API Android 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
С помощью этого thread:
Проблема заключается в наличии двух эмуляторов: один в $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, которые я должен был очистить.
Ответ 2
Реальная проблема, по крайней мере, над Ubuntu 16.10 и 17.04 и Andoid Studio 2.4 Preview 7 (но может случиться с любым производным Debian и предыдущими версиями Android Studio) заключается в том, что Google распространяет нерабочую libstdС++сильная > библиотека с инструментами эмулятора. Они распространяют версию 6.0.18, но я обнаружил, что рабочий - 6.0.22.
EDIT: есть сообщения о том, что версия libstdС++ 6.0.21 работает так же, как и 6.0.22.
Итак, у вас есть 2 варианта:
Вариант 1
rm
предыдущие неработающие файлы Google в/yoursdkpàth/emulator/lib64/libstdС++
Загрузите и извлеките libs из официальный пакет libstdС++ в/yoursdkpàth/emulator/lib64/libstdС++
Не пытайтесь установить .deb, извлеките из него файлы/двоичные файлы (два двоичных файла находятся в папке с именем "lib" ) и скопируйте их по рекомендованному пути.
Вариант 2
Создайте ссылку на lib, распространяемую вместе с 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 Emulator в Android Studio, они нарушают функциональность, заменяя ваши рабочие SDK С++ libs сломанными/более старыми, Решение состоит в повторении любой из вышеперечисленных процедур.
ВАЖНО 2: Это допустимо только в том случае, если ваши AVD настроены для использования вашего ПК в качестве хоста для ускорения видео (Hardware GLES 2.0). Выбор Sofware GLES 2.0 на вашем AVD будет работать без каких-либо предлагаемых изменений, но ваш эмулятор будет мучительно медленным.
Ответ 3
Проверяете ли вы эмулятор Android, установленный в ** SDK Tools?
Перейдите в Настройки- > sdk-tools.
Посмотрите, установлен ли Android или нет.
У меня такая же проблема. когда я проверил SDK Tools, я обнаружил, что эмулятор Android не установлен.
![enter image description here]()
Ответ 4
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
Ответ 5
Решение:
Инструменты - Android - Менеджер Sdk
вкладка Инструменты Sdk
установить эмулятор 25.3.1
Ответ 6
Это сработало для меня:
Перейдите в AVD Manager, затем в столбце Actions щелкните стрелку, указывающую рассвет, и выберите "Wipe Data".
После этого попробуйте запустить эмулятор.
![введите описание изображения здесь]()
Ответ 7
перейти к Sdk/emulator/lib64/libstdС++ переместить libstdС++. so.6 и libstdС++. so.6.0.18 в myfolder (я создал это) (или любое другое место) в качестве резервной копии и скопировать libstdС++. so.6, libstdС++.so.6.0.21 из usr/lib64; лоток снова запускает ваше виртуальное устройство!
Ответ 8
Его ошибка libGL и проблема libstdС++. Невозможно запустить AVD в эмуляторе.
Его знать ошибку, и вы можете легко победить ее с помощью простых шагов.
Я тестировал это решение на Ubuntu 16.10 64bit
Решение:
$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-устройство и проверьте его.
Ответ 9
В течение последних нескольких дней это приводило меня в бешенство. Вот то, что сработало для меня:
ANDROID_HOME, ANDROID_SDK_ROOT
переменные в "Переменные системной среды" отличаются от Android Studio -> Settings -> Android SDK Location
. Поэтому, когда я изменил переменные среды, AVD запустился!
(После изменения переменной среды вы должны перезапустить Android Studio)
Ответ 10
Единственное решение, которое сработало для меня, заключалось в установке следующих отсутствующих библиотек:
$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
Запустите свой эмулятор снова, и он будет работать нормально.
Ответ 11
Начиная с этой версии, Android-эмулятор будет выпущен отдельно от SDK Tools.
поэтому просто установите эмулятор Android, используя инструменты sdk в вашей студии Android.
Ответ 12
Моя проблема была ANDROID_SDK_HOME
, указывающая на d:\.android
вместо d:\
. Не удалось найти изображения.