Есть тут ведроид-девелоперы? Вы можете объяснить, что за херня творится с вашими инструментами?
Рассказываю.
Понадобилось сделать сабж, причем подходящего девайса у меня нет, поэтому проверка изменений предполагались в эмуляторе. Я раньше делал это, никаких особых проблем не помню, решил, что и тут справлюсь за пару минут.
Устанавливаю Android Studio в чистую как слеза виртуалку (Оффтоп 10, если кому интересно). Не на хост потому, что после всех этих студий систему проще выбросить, чем отмыть от всего установленного шлака.
Открываю и собираю исходники без проблем, а вот эмулятор даже не запускается. Итак, считаем косяки.
-
Штатный конструктор виртуальных девайсов не создает один из файлов, который нужен эмулятору (hardware_properties.ini). Вот так! Родной конфигуратор создает неработоспособный конфиг, который невозможно запустить без правки руками.
-
После создания недостающего файла новая проблема: «This AVD’s configuration is missing a kernel file». И что-то про файл «kernel-qemu». Лезу в каталог образов, действительно, нет такого файла! Зато есть какой-то «kernel-ranchu64». Пробую переименовать. Вроде бы сожрало, но какого хрена я вообще должен заниматься это фигней?
(Для понимания: я не делал никаких нестандартных действий, все по-умолчанию. Образы скачивал через встроенный менеджер пакетов. Виртуальный девайс создавал при помощи штатного конфигуратора)
-
После подсовывания недостающих файлов пробуем запустить, получаем «x86 emulation currently requires hardware acceleration». Снова не запускается.
-
Причем в логе ошибка, бэкенд-процесс уже завершился с exitcode, а в GUI весело продолжает заполняться прогресс-бар загрузки эмулятора. Ну не конченные?
-
Читаем маны. Оказывается, теперь принято отлаживать под native в аппаратной виртуальной машине. Быстро-модно-молодежно. Однако мы уже и так внутри виртуалки. Кто-то уже поддерживает nested VM?
-
Скрипя сердцем ставлю этот шлак на походный ноутбук. Прохожу все те же проблемы и снова вижу ошибку из п.2. Ах да, это же AMD. Гуглоиды так и не осилили виртуализацию под AMD. VMWare осилили, Oracle/VBox осилили, а гуглоиды не осилили. Молодцы, зато гномиков на собесах считать умеете лучше всех.
-
Ладно, хер с вашим x86, раньше отлаживал под ARM. Медленно, но работало. Пытаюсь скачать ARM-образ системы и получаю фигу. Начиная с 8.0 доступны только x86-образы. Больше нет возможности ловить специфичные для платформы косяки в эмуляторе, только реальное железо, только хардкор!
-
Ладно, хрен с вашим 8+ мне не критично, качаю образ 7.1, пытаюсь создать на его базе виртуальный девайс и… Правильно, БОЛТ! Эмулятор поддерживает только образы 8.0 и выше. Падло, как же я от тебя устал…
Итак, имеем замкнутый круг. Эмулятор не поддерживает версии ниже восьмой, но образы версий 8+ только x86 и не поддерживаются железом AMD и внутри виртуальной машины. Пришлось выискивать более древнюю версию всего этого барахла, где есть поддержка ARM-образов и со стороны эмулятора и со стороны ведроида. Вместо предполагаемого часа провозился весь день.
Я одного не понимаю. У гугеля же охренеарды денег. Набирают они тоже типа лучших из лучших. Какого они выкатывают в продакшн такое гумно? Некому тестировать? Или это такая попытка повысить порог входа в платформу, чтобы школоты было меньше? Как так-то?!