6 февраля 2014 г.

Запуск приложения Doodlz на виртуальном устройстве AVD

Итак запустим первое приложение Android на виртуальном устройстве AVD. Примеры приложений из книги надо скачать на сайте который был указан в предыдущих постах.
И так запускаем Eclipse и видим начальный экран Welcome жмем на кнопке Workbench(Рабочая среда)
D 01
И попадаем сюда
D 02
Теперь надо импортировать наш (верней их :) ) проект Doodlz в рабочую среду для этого откройте диалоговое окно Import(Импорт).
Выполните команды File->Import…(ФайлИмпорт), чтобы открыть диалоговое окно Import
D 03
В диалоговом окне Import раскройте узел General(Общий), выберите параметр Existing Projects into Workspace(Существующие проекты в рабочую среду), потом щелкните на кнопке Next>(Далее>) для выпол-нения шага Import Projects(Импорт проектов)
D 04
Установите переключатель Select root directory(Выберите корневой каталог), потом щелкните на кнопке Browse…(Просмотр…). В диалоговом окне Browse For Folder(Просмотр папок), показанном, найдите папку Doodlz, которая находится в папке примеров книги, выберите ее и щелкните на кнопке OK. Нажмите кнопку Finish(Готово), чтобы импортировать проект в Eclipse.
D 05
Проект появится в окне Package Explorer(Диспет-чер пакетов). Это окно находится в левой части окна Eclipse.
D 06
Прежде чем запускать проект, надо поменять настройку AVD устройства на котором мы будем запускать приложение. Очистить чекбоксы Snaphost и Use Host GPU
D 07
Это опции эмуляции. Snaphost используется для создания “снимка” рабочей системы, что позволяет ее запускать чуть быстрее, так как она запускается из сохраненного состояния, на котором вы ее выключили. Use Host GPU позволяет использовать процессор GPU на вашей машине для ускорения графики на устройстве AVD. Вопрос зачем же тогда делать чтобы AVD запускалась медленней? Все объясню чуть позже. Так как уже наступил на некоторые грабли, которые кстати не описаны в книжке :)
И так жмакаем в этом окне ОК и переходив в Eclipse для запуска приложения.
Запуск приложения Doodlz. В среде Eclipse выберите проект Doodlzв окне Package  Explorer, затем выполните команду Run AsAndroid Application(Выполнить как Приложение Android), выбрав ее в раскрывающемся меню кнопки Run As панели инструментов интегрированной среды разработки. В результате начнет выполняться приложение Doodlzна виртуальном устройстве NexusS Android Virtual Device (AVD).
D 08
Далее будут два скрина запуска Андроид на AVD
D 09
и этот
D 10
Затем, если вы запускаете приложение в первый раз, возможно экрана блокировки Андроид вы не увидите, а увидите сразу запущенное приложение. Но если увидели, ни чего страшного, просто потяните мышкой (зажав левую кнопку) бегунок влево чтобы разблокировать AVD
D 11
и увидите запущенное приложение
D 12
Обратите внимание что в названии окна видно на каком AVD запущено приложение.
Это приложение для рисования на экране.
Структура AVD.В левой части окна AVD отображается выполняющееся приложение. В правой части окна отображаются различные кнопки, которые имитируют физические и программные кнопки реального устройства Android, и клавиатура, имитирующая физическую и программную клавиатуры устройства. Физические кнопки — это реальные кнопки устройства. Программные кнопки ото-бражаются на сенсорном экране устройства. С помощью кнопок устройства AVD можно взаимодействовать с приложениями и операционной системой Android, вы-полняемыми на AVD. После установки приложения на устройстве Android можно приступать к созданию нового рисунка путем перетаскивания пальцем в области холста. При использовании устройства AVD «касание» поверхности экрана имитируется мышью.
Отображение параметров приложения.Чтобы отобразить параметры приложения, коснитесь кнопки Меню(Menu). Обратите внимание, что на некоторых реальных
устройствах эта кнопка обозначена пиктограммой в виде горизонтальных полосок. После этого отображается меню параметров приложения. Это меню включает следующие параметры: Color(Цвет), Line Width(Ширина линии), Erase (Удалить), Clear(Очистить) и Save Image(Сохранить изображение). Выберите параметр Color, и на экране появится графический интерфейс пользователя, с по-мощью которого можно изменить цвет линии. Если же выбрать параметр Line Width, у вас появится возможность изменить толщину линии. Выберите параметр Erase для окрашивания рисуемых линий в белый цвет (в результате цвет полностью ис-чезает). После выбора параметра Clearрисунок исчезает. Если же выбрать параметр Save Image, изображение будет сохранено в галерее изображений устройства.
D 13
Нарисуем цветочек, как они просят в книге.
D 14
Да я художник :)… Надо сохранить шедевр :) Но, если вы потом посмотрите в галерее рисунка не будет, он почему то появляется только если выйти из AVD и запустить ее заново.
D 15
Закроем окно и запустим приложение заново. Но перед этим изменим настройки AVD чтобы она использовала GPU (Use Host GPU). Spanhost и Use Host GPU одновременно использовать нельзя. Или то или другое.
Запускаем заново приложение. Обращаем внимание что опять показываются два окна запуска Андроид. Пробуем нарисовать еще чего-нибудь и сохраняем это. При рисовании я лично особого прироста производительности не увидел. Так что использовать Use Host GPU или нет это ваше дело. Ну и кстати со всеми настройками производительности  AVD еще надо разобраться.
Идем в галерею. Нажимем для этого на кнопочку домик видим обычный рабочий стол Андроид и далее в приложения и запускаем Галерею. Видим там только наш первый рисунок. Второй который сохранили еще там не виден, появится после перезапуска. Почему такой глюк не знаю.
D 17
Закрываем окно. Теперь в AVD Manager отмечаем чекбокс Snaphost и убираем галку с Use Host GPU.
D 18
Запускаем приложение еще раз. Опять видим два экрана запуска Андроид, НО! Сейчас создается “снимок” рабочей системы. Итак увидели это окошко
D 19
Разблокировать экран не надо. Просто нажмите крестик в правом левом углу чтобы закрыть окно. И запустите приложение еще раз. Ииии вууууаля! Андроид запустился на AVD за пару секунд. Ну про крайней мере у меня :)
Разблокируем экран. Видим приложение. Рисуем ченить. Закрываем снова окно (жмак по крестику). Запускаем снова… и через секунду вы уже в своем приложении и должны видеть рисунок. Собственно теперь я думаю понятно что дает включение чекбокса Snaphost.
Но у него есть свои грабли. Щас про них расскажу. Может у вас их и не будет но у меня были :) И так нажимаем на клавишу выключения питания AVD и удерживаем ее нажатой несколько секунд.
D 20
Видим меню выключения и жмем отключить питание.
D 21
Видим меню Телефон будет выключен и жмем ОК
D 22
И вот тут наступают глабли :)
D 23
Телефон будет выключаться вечно :). Жмем на крестик чтобы выключить окно. Теперь если вы снова попытаетесь запустить приложение из Eclipse, то увидите эту же самую картинку “ВЫКЛЮЧЕНИЕ” :) Это произошло потому что запуск AVD происходит из “снимка”. Вопрос что делать? Выходов три :) ажна.
1 способ) Очистить чекбокс Snaphost в AVD Manager у данного устройства и запустить приложение из Eclipse снова.
2 способ) В AVD Manager выбираем зависшее таким образом устройство и жмем кнопку Start…
D 25
Очищаем чек бокс Launch from snaphost и ставим чек бокс Save to shaphost и жмем кнопку Launch
AVD устройство запуститься уже обычным образом без использования снимка. Затем его можно выключить жмакнув по крестику (не путать с виртуальной кнопкой питания :) )
Таким образом создается новый снимок уже рабочей системы в рабочем, а не зависшем состоянии.
3 способ) Смотрим в AVD manager где у вас располагаются AVD устройства на диске
D 26
Открываем этот каталог и видим там директории где хранятся файлы AVD
D 27
Идем в каталог NesusS.avd и удаляем файл spaphosts.img
D 28
После этого запускаем приложение из Eclipse. Ждем когда Андроид прогрузится и наслаждаемся запущенным приложением.
Так что осторожней с виртуальной кнопочкой выключения питания. :)

Комментариев нет:

Отправить комментарий