Как подружить Android, Visual Studio и Parallels Desktop

Введение


Несколько месяцев назад, прочитав на Хабре статьи про кросплатформенную разработку с помощью Mono и Xamarin, вдохновился написанием собственных приложений на платформы Android, iOS и Windows Phone. Через некоторое время, найдя работу в компании, которая как раз и занимается разработкой приложений с помощью Xamarin, стал гордым обладателем iMac и понял, что хорошо бы кроме девайса с Android’ом на борту (да, у меня прекрасно уживается продукция Apple и Google, хотя предпочтение я отдаю первым) иметь на iMac эмулятор Android (так как держать весь зоопарк устройств для своих проектов не представляется возможным).

Проблемы


Честно говоря, писать код в Xamarin это боль, особенно когда существует Visual Studio и ReSharper. Это и стало одной из причин установки на iMac Parallels Desktop с Windows 8.1 на борту (первой была возможность разрабатывать под Windows Phone). Это решило проблему со средой разработки, но оставило проблему с эмулятором Android. Поиск в интернетах дал знание о такой классный штуке как Genimotion. Тут была только одна загвоздка — Parallels Desktop не очень уживался с ним в паре. Уже подумав, что придется таки медленно приобретать весь зоопарк Android'а, приметил у Parallels Desktop возможность устанавливать с помощью их инструментария Android на виртуальную машину, которая прекрасно работала в паре с Windows опять же на виртуалке. Оставалось только найти способ связать одно с другим. О поисках и применении найденного я и расскажу.

Решение


Итак, для успеха нам потребуются:
  • Устройство из семейства Mac’ов
  • Parallels Desktop с установленными Android и Windows
  • Visual Studio
  • Xamarin (на Windows)

Инструкция по установке андроида на Parallels Desktop
Как установить андроид на Parallels Desktop?

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

Итак, скачиваем любой образ по нраву, у меня android-x86-4.4-RC1.iso, открываем Parallels Desktop. Если это первый запуск, то выбираем сразу «Установить Windows или другую ОС с DVD или образа», если нет, тогда жмем на «+» -> Создать, а затем выбираем установку с образа и жмем «Продолжить». В открывшемся окне выбираем образ и перетаскиваем его внутрь.



Parallels Desktop нас тут же извещает о том, что определить ОС на этом образе является для него невыполнимой задачей, однако, не стоит переживать по этому поводу, смело жмем «Продолжить». В выпадающем меню выбираем Другие версии Linux -> Другая версия Linux, жмем OK.



Далее можно ввести имя и расположение виртуальной машины. Настоятельно рекомендую выбрать пункт «Настроить параметры до начала установки». У меня настроено следующим образом:









После настройки нажимаем «Продолжить», запускается установка нашего Android’а. Далее следуем по пунктам: Installation — Install Android-x86 to harddisk -> Create/Modify partitions -> New -> Primary -> Bootable -> Write -> yes -> Quit -> sda1 Linux -> ext3 -> Yes -> Yes -> Yes -> Reboot.
Вот и все, у вас Android на Parallels Desktop!


Первым делом, запускаем Parallels Desktop

image

Открывается список доступных виртуальных машин — его пока оставляем открытым. Теперь переходим Parallels Desktop -> Настройки



И открываем вкладку Дополнительно, а на ней Сеть: Изменить настройки



Сюда нам чуть позже необходимо будет добавить IP нашего Android’a, на который будем деплоить проект с Visual Studio.

Возвращаемся к списку виртуальных машин, нажимаем правой кнопкой мышки на Android и переходим в настройки этой виртуалки:



Здесь нас будет интересовать вкладка «Оборудование» пункт «Сеть». В типе подключения нужно выбрать в списке мостовых сетей ту, к которой подключен сам Mac:



Закрываем настройки виртуальной машины с Android’ом и запускаем ее. Теперь уже переходим в настройки самого Android’а -> О планшетном ПК -> Общая информация и проматываем список, пока не найдем IP нашего Andorid’a:



Возвращаемся к настройкам Parallels Desktop (Настройки -> Дополнительно -> Сеть: Изменить настройки), нажимаем на «+» под списком правил переадресации портов, где вводим информацию следующим образом (конечно же меняя IP адрес на адрес своего Android’a)



Нажимаем ОК и видим наш IP в списке:



Настройка Android’a на этом завершена, теперь нужно подготовить Windows, а именно adb сервер. Поэтому запускаем виртуалку с WIndows на борту.

Инструкция по подготовке Windows и Xamarin с установкой USB драйвера от Samsung
Чтобы все работало корректно в первую очередь необходимо обновить и установить все Extra и Tools в Android SDK Manager, а также скачать и установить API для той версии андроида (и для других, если необходимо), которая стоит у вас на девайсе (да, в итоге все равно по началу нужен девайс на андроиде, правда, радует что подойдет любой). После того, как это будет сделано, следует скачать Samsung USB driver с официального сайта (у меня не заработал) или отсюда, или попытаться с одним из этих. Если выбор пал на драйвер от самсунга, то после его установки обязательно надо перезагрузить компьютер, подключить свой девайс на андроиде, затем открыть диспетчер устройств, найти в списке свой девайс и выбрать обновление драйверов. Далее выбрать поиск драйверов на компьютере, потом нажать на выбор драйвера из списка. Выбрать из списка ADB Interface и наконец SAMSUNG Android ADB Interface. После этого все готово!


Как только Windows запущена, переходим в C:\Users\*username*\AppData\Local\Android\android-sdk\platform-tools и запускаем консоль из этой папки (на всякий случай для тех кто не знает — щелчок правой кнопкой мыши -> open command window here)

Прописываем в консоле:

add kill-server
adb connect *IP адрес вашего Android’a*

Выглядеть должно следующим образом:



Теперь запускаем Visual Studio, в которой создаем новый Android Application проект:



Список устройств должен выглядеть следующим образом (может подгрузиться не сразу):



Выбираем первый в списке и запускаем проект. Собственно результат:



Теперь можно писать код в Visual Studio в паре с ReSharper и получать от процесса удовольствие.

Заключение


Хоть все и получилось, но у такого подхода есть свои плюсы и минусы. С минусов и начну:
  • Каждый раз при старте Windows приходится прописывать команды adb серверу;
  • Мне пока удалось поставить на виртуалку только планшетные варианты Android’a без возможности изменения размера экрана и смены ориентации виртуальной машины (ориентацией экрана меняется сочетанием Ctrl + F9/F10/F11/F12 правда в Android’е, установленного с www.android-x86.org/download).


Плюсы:
  • Действительно быстрая работа Android’а (даже быстрее, чем на моем девайсе);
  • Возможность сравнить приложение на трех платформах одновременно, без необходимости перезапуска Windows для подключения/отключения Hyper-V;
  • Использование Visual Studio в качестве среды разработки.


На этом все, надеюсь вам пригодится это руководство. Спасибо, что прочитали!
  • +14
  • 17.1k
  • 5
Share post

Similar posts

AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 5

    0
    Спасибо, что прочитали!
    Пожалуйста :-)

    По статье: написано просто и подробно, спасибо. Пригодится.
      0
      Скорость Monodroid из под винды действительно оставляет желать лучшего. Спасибо за статью, интересное решение, обязательно попробую на досуге.
        0
        Спасибо за статью.

        Вопрос немного не в тему. Как вам отзывчивость студии при работе в виртуалке? Неужели Parallels Desktop делает всё так хорошо, что можно комфортно работать? (Спрашиваю из-за соображений, а можно ли .NET-разработчику покупать i-технику для разработки).
          0
          По поводу отзывчивости — Parallels Desktop делает всё действительно хорошо. Visual Studio 2013 Ultimate вкупе с ReSharper выдает небольшие замедления при показе всплывающих подсказок (например, при просмотре методов какого-либо объекта проходит около половины секунды до подсказки). Отзывчивость интерфейса студии на виртуалке, на мой взгляд, не отличается от отзывчивости студии на Windows. Основные системные настройки моей виртуалки с Windows следующие:
          процессоры — 2; оперативка — 3 Гб; видео — 512 Мб; hdd — 100 Гб; включена вложенная виртуализация (для работы с Windows Phone)

          Мое личное мнение по поводу техники для разработки — если Вы не собираетесь переходить на кроссплатформенную разработку с помощью Xamarin, то стоит выбрать ту платформу для разработки, под которую Вы разрабатываете. Кроме удобства это, в числе прочего, поможет быть в курсе того, куда движется платоформа.
            0
            Спасибо за ответ!

        Only users with full accounts can post comments. Log in, please.