PC ZONEОТЛАДКА ЧЕРЕЗ GSDSERVERНе могу не отметить, что Android-x86 предлагается спредустановленным GDBserver’ом, который можно найти в /sbin/gdbserver.Таким образом, у нас есть возможность использовать GDBдля отладки приложений на удаленной машине. Для этого, опятьже, необходимо поднять сеть между виртуальной и хостовой ОС какпоказано выше и запустить GDBserver:Настраиваем локальную сеть в Androidстарались максимально упростить процесс установки стороннихприложений:1. Сначала надо разрешить установку сторонних приложений изнеизвестных источников. Идем в «Settings Applications Unknown sources» и ставим здесь галочку. Если не включить этуопцию, то, попытавшись установить приложение, мы получимсообщение, что установка заблокирована.2. Если известен адрес для скачивания приложения, открываембраузер и скачиваем программу. После завершения загрузкикликаем на скачанный файл для установки. Появится окошко спросьбой подтвердить установку приложения. При удачном раскладепосле нажатия Install наше приложение начнет устанавливаться.Почему при удачном? Потому, что некоторые программымогут быть несовместимы с Android-x86. В таком случае поставитьих не получится.Чтобы еще больше упростить поиск приложений, можно воспользоватьсяутилитой AndAppStore, которая поставляется вместес Android-x86. Это своего рода аналог Android Market: весь софтздесь разбит на категории, а любая программа устанавливается вдва клика.НАСТРОЙКИ ДЛЯ ОТЛАДКИИтак, мы установили ось, поигрались с интерфейсом Android,заинсталлили программы, которые хотели посмотреть, — порапереходить к более серьезным занятиям. Я изначально собиралсяиспользовать такую систему как платформу для тестированияразрабатываемых приложений, поэтому расскажу, как этоделается.Первым делом нам понадобится настроить сеть, причем в нашемслучае она не совсем стандартная. Android-система должна иметьдоступ в интернет (что просто необходимо при написании сетевыхприложений), а также еще одно подключение к локальной сети,через которое мы могли бы связаться с нашей виртуальной машинойдля отладки приложений. Ethernet нужен, чтобы настроить NAT ввиртуальной машине и полноценно пользоваться интернетом.root@android:/ # gdbserver :1234 \[исполняемый файл приложения и полный путь к нему]Можно также воспользоваться опцией "--attach pid", чтобыприсоединиться к процессу, который уже запущен.Далее мы можем подключаться к нашей виртуалке с обычноймашины. Запускаем GDB:# gdbИ подключаемся к удаленному серверу:gdb > target remote :1234Работает!Итак, открываем раздел «Сеть» и настраиваем там дваадаптера:Адаптер 1 — NAT (в виртуальной машине будет виден какeth0, для интернета).Адаптер 2 — виртуальный адаптер хоста (в виртуальноймашине будет виден как eth1, для отладки приложений).Для продолжения требуется ребут системы. По умолчаниюAndroid x86 не может работать с двумя сетевыми адаптерами,но это легко исправить. Идем в меню для запуска приложений,переходим в «Settings Configure Ethernet» и выбираем«eth0 dhcp», после чего снова перезагружаем виртуалку. Послезагрузки необходимо перейти в консоль. Делается это оченьпросто, с помощью комбинации Alt + F1...F6 (Alt + F7 вернет насв графический интерфейс). В консоли необходимо выполнитьследующие команды:root@android:/ # netcfglo UP 127.0.0.1 255.0.0.0 0x00000049eth0 UP 10.0.2.15 255.255.255.0 0x00001043ЕСЛИ НУЖНЫ ТОЛЬКО ПРИЛОЖЕНИЯСпециально на тот случай, если нужнозапустить только Android-приложения(скажем, популярные игрушки), созданво многом уникальный проект Bluestacks(bluestacks.com), разработка которого ведетсясовместно с компанией AMD. Идея в том,чтобы не эмулировать ОС Android, а полностьювоссоздать окружение мобильной ОС длянативного выполнения программ. Что это дает?Ты можешь запускать игры в полноэкранномрежиме, и они реально не будут тормозить.Платформа позволяет запускать десятьприложений, которые идут в комплекте сней, а также устанавливать дополнительные.Это делается очень просто. Заходим в папкус установленной программой, находимфайл HD-ApkHandler.exe и создаем для негоярлык на рабочем столе. Далее скачиваеминтересующее нас приложение для Android(в виде apk-пакета) и перетаскиваем его натолько что созданный ярлык. Всё, программаустановлена — ее можно запускать. Некоторыеприложения, правда, не установятся из-запроблем с совместимостью. Некоторые другие,например Angry Birds и Fruit Ninja, помеченыкомпанией BlueStacks как «премиумприложения»,которые можно будет установитьтолько при использовании грядущей платнойверсии программы. Однако куча других игрустановится и запустится без проблем.042ХАКЕР 02 /157/ 2012
Android на x86eth1 DOWN 0.0.0.0 0.0.0.0 0x00001002root@android:/ # netcfg eth1 downroot@android:/ # netcfg eth1 dhcpaction 'dhcp' failed (invalid argument)root@android:/ # netcfg eth1 uproot@android:/ # netcfglo UP 127.0.0.1 255.0.0.0 0x00000049eth0 UP 10.0.2.15 255.255.255.0 0x00001043eth1 UP 192.168.56.101 255.255.255.0 0x00001043Теперь, как ты видишь, у нас подняты два интерфейса: один длявыхода в Сеть, другой для отладки приложений. Остается тольконастроить последнюю.ОТЛАДКА ПРИЛОЖЕНИЙДля дальнейших действий нам понадобится Android SDK которыйпридется загрузить (developer.android.com/sdk/index.html).1. Скачиваем архив android-sdk_r16-windows.zip и распаковываем.Заходим в получившуюся папку и ищем директориюplatform-tools. Ага, такой нет. Придется запустить SDKManager и установить недостающие инструменты. Выбираемкатегорию «Tool Android SDK Platform-tools». После установкидолжна появиться папка platform-tools, которая нас иинтересует.2. В папке надо найти утилиту ADB. Аббревиатура ADB расшифровываетсякак Android Debug Bridge (Отладочный мост «Андроид»).Так как операционная система от Google принадлежит ксемейству Linux, для ее настройки часто необходимо использоватькомандную строку. Конечно, существуют программы —эмуляторы терминала, которые позволяют выполнять командыпрямо на устройстве, но, во-первых, на маленьком экранетелефона это делать неудобно, а во-вторых, иногда требуетсядоступ к устройству через компьютер. В этих и многих другихслучаях программа ADB просто незаменима. Она устанавливаетсвязь между устройством и компьютером и позволяет прямо накомпьютере выполнять различные манипуляции с системойAndroid.3. Для того чтобы подключить новое устройство к системе, надоввести:adb connect 192.168.56.101Выбираем на каком эмуляторе будем отлаживать написанное приложениеconnected to 192.168.56.101:5555После этого можно просмотреть список уже подключенныхустройств, набрав команду:с:\android-sdk-windows\platform-tools>adb devicesList of devices attachedemulator-5554 device192.168.56.101:5555 deviceЗдесь emulator-5554 — дефолтный эмулятор от Google, а192.168.56.101:5555 — наша виртуальная машина.4. С этого момента наш эмулятор доступен из Eclipse, и его можноиспользовать для тестирования приложений, что нам и требовалось.ЗАКЛЮЧЕНИЕЧто я могу сказать после месяца использования Android-x86? Содной стороны, проект еще немного сыроват и некоторые недоработкизаметны невооруженным взглядом. Версия 4.0 удивиласвоим интерфейсом, в котором консоль торчала поверх графики.Версия 3.2 на первый взгляд не имела глюков в плане графики, ноне позволяла поднять сеть для отладки приложений. И только 2.2удовлетворила всем моим требованиям.С отладкой тоже всё непросто: этот способ однозначно быстрееэмулятора SDK, но полноценно отлаживать приложения лучшевсё-таки на настоящем девайсе. С другой стороны, это шикарнаявозможность запустить Android на своем компе и понять все егодостоинства и недостатки, протестировать популярные приложения,не покупая телефонов и прочих девайсов. zSHORTCUT’Ы ДЛЯ БЫСТРОЙНАВИГАЦИИУстановка приложений с помощью AndAppStore• Кнопка Windows соответствует кнопке Home в Android;• Esc соответствует кнопке «Назад» в Android;• F2 соответствует кнопке Menu;• F3 соответствует кнопке поиска;• Alt + F1 — переключение в консольный режим;• Alt + F7 — переключение в режим GUI.ХАКЕР 02 /157/ 2012 043