Проблема эмулятора HelloAndroid - PullRequest
17 голосов
/ 23 февраля 2010

Я пробую Android SDK в первый раз. Я начинаю с учебника HelloAndroid. следовал точно каждый шаг, но эмулятор запускается без моего приложения. Консоль Eclipse сообщает:

[2010-02-23 11:47:55 - HelloAndroid]------------------------------
[2010-02-23 11:47:55 - HelloAndroid]Android Launch!
[2010-02-23 11:47:55 - HelloAndroid]adb is running normally.
[2010-02-23 11:47:55 - HelloAndroid]Performing com.example.helloandroid.HelloAndroid activity launch
[2010-02-23 11:47:55 - HelloAndroid]Automatic Target Mode: Preferred AVD 'my_avd' is not available. Launching new emulator.
[2010-02-23 11:47:55 - HelloAndroid]Launching a new emulator with Virtual Device 'my_avd' [2010-02-23 11:48:09 - HelloAndroid]New emulator found: emulator-5554
[2010-02-23 11:48:09 - HelloAndroid]Waiting for HOME ('android.process.acore') to be launched...

Я вижу эмулятор, на нем текст «Android», но больше ничего не происходит. может кто-нибудь помочь, пожалуйста? спасибо!

Ответы [ 7 ]

18 голосов
/ 24 августа 2011

Резюме
(Вы можете увидеть полную информацию ниже этих обобщенных шагов).

  1. Удалите / переустановите Android SDK в папку из C: \ (без пробелов в путь)
  2. Пересоздайте AVD.
  3. Установка переменной среды PATH для новых папок Android SDK
  4. Удалите / переустановите Android ADT Plugin в Eclipse.
  5. Настройка расположения Android SDK в Eclipse.
  6. Перезагрузка (для уменьшения загрузки процессора)
  7. Запустите эмулятор из командной строки и настройте его на использование всех процессоров с высоким приоритетом или приоритетом «реального времени». Обратите внимание на использование вашего процессора.
  8. Откройте Eclipse и запустите приложение.

Подробнее
Я потратил два дня, чтобы получить эмулятор для запуска приложения HelloAndroid. В моем случае проблема могла быть связана с проблемой установки Android SDK и проблемой производительности процессора. Я думаю, что что-то заставляло эмулятор работать очень медленно, вызывая зависание эмулятора. Мой компьютер - это мой многоядерный ПК с процессором Intel i7 под управлением Windows 7 64-bit 6GB. Диспетчер задач показывает 8 процессоров на моем компьютере в теге производительности.

Моим симптомом было то, что Android 2.2 AVD в эмуляторе зависал, когда на экране показывался оживленный текст «Android». Главный экран никогда не появится. Этот сценарий повторялся снова и снова. Я часто ждал 30 минут или 45 минут безрезультатно.

Мое окружение:

  • Android SDK, редакция 12
  • Android 2.2 AVD
  • Windows 7 64-битная
  • Eclipse IDE для разработчиков Java Indigo Release Build id 20110615-0604
  • Многоядерный процессор Intel Core i7, 6 ГБ, 1,6 ГГц

Я попытался запустить эмулятор из командной строки, не запуская Eclipse в командной строке, но это не помогло. Эмулятор все еще зависал. Я заметил, что диспетчер задач показал мой ящик на 50% загрузки ЦП, которая казалась довольно высокой. ЦП 0 был привязан на 100%.

Вот что это исправило.

Я удалил Android SDK R12 и переустановил его из корня C: в C: \ android-sdk. Ранее у меня были проблемы, потому что Android SDK находился в папке «C: \ Program Files»; SDK содержит ошибку, которая не может обработать пространство в пути . Я запустил «uninstall.exe» из папки Android SDK, чтобы выполнить удаление. Удаление заняло больше времени, чем установка.

Я добавил "; C: \ android-sdk \ tools \; C: \ android-sdk \ platform-tools \" в переменную среды PATH.

Затем я удалил AVD с помощью SDK Manager и создал его заново.

Я удалил плагин ADT для Eclipse, перезапустил Eclipse, затем переустановил плагин ADT, затем закрыл Eclipse.

Я перенастроил Eclipse с помощью нового пути Android SDK («Окно»> «Настройки»> «Android»> «Расположение SDK»).

На вкладке Процессы диспетчера задач я включил «Показывать процессы всех пользователей». Затем я щелкнул правой кнопкой мыши «emulator-arm.exe * 32», затем нажал «Установить сходство ...» и заметил, что эмулятор был настроен на использование только CPU 0, поэтому я изменил его на использование всех процессоров. Я также установил для эмулятора приоритет «Real Time».

Наблюдая 50% загрузки процессора, я перезагрузился.

После перезагрузки я запустил эмулятор с помощью командной строки:

emulator @Android22

Android22 - это имя моего AVD. Я использовал диспетчер задач, чтобы установить сходство эмулятора для использования всех процессоров и установить высокий приоритет. У меня загрузка процессора составила около 13%, в основном из-за эмулятора. Эмулятору потребовалось около 3 минут, чтобы показать домашний экран. Ура!

Затем я открыл Eclipse с приложением HelloAndroid, и приложение успешно запустилось в эмуляторе.

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

Удачи. Надеюсь, эта информация кому-нибудь поможет.

7 голосов
/ 24 февраля 2010

И, может быть, это был только я, но мне потребовалось некоторое время, чтобы понять, что такое «LogCat», о котором я продолжал читать.

Если вы используете Eclipse, выполните «Окно / Показать представление / Другое». Затем введите «LogCat» в поле «Показать представление», и появится «Android-> LogCat». Выберите эту опцию, и теперь у вас будет вкладка LogCat, которая отображает информацию о выходе. Вы можете контролировать уровень информации, отображаемой с помощью кнопок «VDIWE» в правом верхнем углу.

7 голосов
/ 23 февраля 2010

Это загрузка. Вы можете проверить ход загрузки в logcat из DDMS или adb shell logcat.

Требуется некоторое время для загрузки эмулятора, но помните, что вам не нужно перезапускать его при обновлении кода. Вы просто нажали Run as... в Eclipse, и он позаботится о загрузке и переустановке в эму.

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

Удачи в разработке Android!

1 голос
/ 29 января 2012

Согласитесь с гением выше,

Была такая же проблема (застрял при загрузке "домой"), напомнил мне о проблеме с загрузкой, которую я имел (застрял на 99% и не пошел дальше -> (да, я нуб, но это все еще напомнило мне об этом)) и в сочетании с глубоко укоренившейся ненавистью к любому брандмауэру и программному обеспечению защиты от вирусов я получил яркую энергию ярости, которая уничтожила все, что имело лишь малейшее сходство со словом «защита»

-> эмулятор после этого работал нормально!

  • все еще потребовалось 6-7 минут для загрузки эмулятора, но "logcat" может помочь скоротать время:)
1 голос
/ 26 ноября 2011

после применения вышеуказанных решений попробуйте отредактировать AVD, установите аппаратное свойство «Максимальный размер кучи приложения VM» на 192 или выше и выберите скин QVGA. У меня была такая же проблема, и с этими настройками AVD загрузился менее чем за минуту.

0 голосов
/ 02 апреля 2014

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

Последним рабочим выпуском Google SDK (содержимое папки «Инструменты») была версия 22.3, однако старые, рабочие версии больше не находятся в файле XML (https://dl -ssl.google.com / android / repository / repository-8.xml ), поэтому у вас нет четкого пути перехода из-под GUI.

Эта проблема вызывает проблему, описанную OP для всех API-версий Intel до 19, которые я тестировал, и «исключение с плавающей запятой» для Intel API-19. Обратите внимание, что версии эмулятора Arm будут работать, хотя и гораздо медленнее, если использовать Intel-ускорение.

Проблема задокументирована в этой теме, которую я не обнаружил, пока не попробовал API-19, так что ошибка «с плавающей запятой» привела к поиску в Google:

https://code.google.com/p/android/issues/detail?id=66786

Одним из решений является реализация Virtual Box в Genymotion, хотя для этого требуется довольно новая версия glibc, еще не в стабильной Debian или CentOS. (Я только что провел день, устанавливая OpenSUSE, чтобы я мог «вернуться к работе», прежде чем найти исправление, описанное выше).

Самое быстрое решение - переименовать «Инструменты» (в папке «android-sdks») в «Broken-tools», а затем загрузить более старую версию, которую кто-то в теме выше обнаружил (как-то): http://dl.google.com/android/android-sdk_r22.3-linux.tgz http://dl.google.com/android/android-sdk_r22.3-windows.zip

После открытия tgz вы найдете заполненную папку «Инструменты», которую можно скопировать в папку «android-sdks», где вы переименовали старую версию в «Broken-Tools», выше.

Если эти ссылки (на не альфа-версии, рекламируемые как «стабильные») умрут, обратите внимание, что другие копии существуют в других неофициальных местах (без сомнения, опубликованные другими «разочарованными» разработчиками, пытающимися помочь своим коллегам).

Спасибо Macarse за указание на «adb shell logcat», который позволил мне найти «цикл сбоя», который происходит в API до 19, создавая поведение «Android Splash Screen Forever», которое сосредоточено вокруг Ошибка "SSLCertificateSocketFactory".

0 голосов
/ 04 декабря 2011

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

Почти два года спустя проблемы с эмулятором остались прежними. В последнем Eclipse с последним плагином после сбоя эмулятора загрузка ЦП составляет 30%, потребляемая напыщенной анимацией в эмуляторе.

Плагин Eclipse имеет представление журнала LogCat с возможностью сохранения вывода в файл. Эта опция создает файл длиной 0 со всеми выбранными записями.

Это не программное обеспечение. Это что-то еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...