Подтвердить что ты не робот

Проблема с эмулятором HelloAndroid

Я впервые пытаюсь использовать SDK для Android. Я начинаю с учебника 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" на нем, но ничего больше не происходит. может кто-нибудь помочь, пожалуйста? спасибо!

4b9b3361

Ответ 1

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

  • Удаление/переустановка Android SDK в папку с C:\(без пробелов в путь)
  • Повторно создайте AVD.
  • Установите переменную среды PATH для новых местоположений папки Android SDK.
  • Удалите/переустановите плагин Android ADT в Eclipse.
  • Настройте местоположение Android SDK в Eclipse.
  • Перезагрузка (для уменьшения использования ЦП)
  • Запустите эмулятор из командной строки и настройте его на использование всех процессоров с приоритетом High или "Real Time". Обратите внимание на использование вашего ЦП.
  • Откройте Eclipse и запустите приложение.

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

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

Моя среда:

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

Я попытался запустить эмулятор из командной строки, не запустив Eclipse в командной строке, и это не помогло. Эмулятор все еще висел. Я заметил, что диспетчер задач показал мой бокс при 50% использовании ЦП, который казался довольно высоким. CPU 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 и воссоздал его.

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

Я переконфигурировал Eclipse с новым Android SDK-каналом (Window > Preferences > Android > Location SDK).

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

Наблюдая за 50% -ным использованием ЦП, я перезагрузился.

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

emulator @Android22

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

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

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

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

Ответ 2

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

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

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

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

Ответ 3

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

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

Ответ 4

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

Ответ 5

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

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

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

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

Ответ 6

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

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

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

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

Ответ 7

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

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

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

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

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

Одним из решений является реализация виртуального блока 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, указав мне на "logcat" adb shell, который позволил мне найти "цикл сбоев", который встречается в пред-19 API, создавая поведение "Android Splash Screen Forever", которое сосредотачивается вокруг Ошибка SSLCertificateSocketFactory.