В помощь мобильному разработчику

Непрерывная поставка/интеграция для Xamarin приложений при помощи VSTS и HockeyApp — Часть Android

Александр Алексеев

В дополнение к моим предыдущим материалам (часть 1 и часть 2) по этой теме я получил определённые отклики с указанием на то, что в моих статьях освещалась только iOS!

И я не могу этого отрицать. Если Вы ещё не заметили: я работаю с iOS и горжусь этим! Тем не менее одним из главных преимуществ Xamarin является то, что Вы можете переключаться туда-сюда от одной системы к другой (и даже более чем между двумя!). Соответственно, большинство проектов, над которыми я работаю, как минимум поддерживают iOS и Android. Так что позвольте мне осветить данную тему более полно и рассказать также и о том, как настроить разработку и развернуть конвейерную обработку для Android!

Предупреждение: отличия от iOS тут минимальны.

 

Тогда в чём же разница?

Во всей методологии разработки присутствует ряд слабовыраженных различий. Сперва давайте обратимся к определению сборки.

В то время как концепция остается той же, в действительности этапы сборки немного отличаются.

Если Вы читали другие мои посты, то должны были заметить, что движение (flow) здесь то же самое, но действительные этапы сборки приложения под Android отличаются от аналогичных шагов в случае с iOS.

Вы можете отметить это по небольшой иконке Apple, а на этом экране — по значку Android. Из этого следует, что здесь для настройки доступны некоторые другие вещи. В iOS Вам потребуется настроить такое содержимое, как provisioning profiles и этому подробное. То есть, то, что является специфическим для iOS. А в случае с Android это не требуется, следовательно, здесь мы к данному вопросу возвращаться не будем. А вот чем, действительно, в данном случае придётся заниматься — это устанавливать конфигурацию версии JDK, которая требуется для компиляции приложения. Хотя мне ещё никогда не приходилось настраивать что-либо подобное.

 

Контроль версий

Ещё одна особенность здесь — это путь определения версии приложения. Хотя способы, при помощи которых это делается, остаются теми же.

Здесь мы также используем доступный нам в VSTS этап сборки. Но в случае с приложением Android мы должны выполнить поиск регулярных выражений (regex) в файле AndroidManifest.xml. Я напомню, что Ричард Вулкот подготовил замечательную статью по этой теме, так что ознакомитесь с ней, дабы глубже разобраться в этом вопросе.

Кроме того, Вы заметите, что подписание бинарного файла у приложения Android тоже отличается.

И, разумеется, это не «китайская грамота». Если Вы уже разрабатывали приложение под Android, то наверняка умеете это делать.

Просто убедитесь в том, что происходит возврат файла хранилища ключей в репозиторий и что ссылка на него работает. Затем укажите пароль, а остальное будет происходить автоматически!

Это позволит отправлять файл apk в HockeyApp или даже Google Play store!

Приложения Apple не могут быть отправлены непосредственно в App Store из стороннего программного обеспечения, но в случае с Android это возможно. Задача сборки по умолчанию в VSTS отсутствует, но Вы можете скачать её из Marketplace здесь.

 

Test Cloud

Разумеется, приложение под Android необходимо тестировать, и это может быть успешно сделано при помощи крайне удобного Test Cloud! За исключением некоторых конфигурации, здесь не так уж много различий с iOS.

Убедитесь в том, что тут у Вас есть этап сборки Xamarin.Android (можете скопировать его из определения сборки выше!) и чуть-чуть иначе настройте задачу сборки Test Cloud. В этом случае вы должны отправить файл apk, а не ipa, и Вам также, наверное, понадобятся здесь какие-то другие устройства.

 

Подводя итог

Короче говоря, на этом все отличия и заканчиваются! Возможно, я о чём-то и позабыл упомянуть, но как Вы сами можете судить из вышеизложенного, тут все отличия кроются в мелочах. Большая часть отличий кроется в замене файла .ipa на .apk.

В действительности есть ещё кое-что! Хотя приложение и кажется одним и тем же на обеих системах, HockeyApp «видит» его на этих платформах как два отличных друг от друга проекта. Так что если Вы желаете его там размещать, тогда не забудьте убедиться в том, что Вы создали для этого отдельное приложение и подключили новый идентификатор (ID) приложения к определениям сборки Android.

Удачи! Если у вас есть какие-либо вопросы, не стесняйтесь задавать их мне!

 

Автор: Gerald Versluis
ИсточникСтатья в блоге автора

Александр Алексеев
Александр Алексеев

Xamarin - разработчик. Работаю с .NET платформой с 2012 года, программирую в основном с использованием C#. За это время успел поработать с ASP.NET, Entity Framework, MSSQL, Git

Многооконный режим Android

Написать ответ