Xamarin как запустить приложение на телефоне
dir.by Сайт dream-land.by
перенесен на dir.by —>
![]()

Поиск
Запуск Xamarin.Android приложения на телефоне (создание apk файла)
Посмотрели 5139 раз(а)
Запуск Xamarin.Android приложения на телефоне (создание apk файла)
последнее обновление: 18 июня 2020
1) Делаем активную конфигурацию Release
В меню нажимаем Build → Configuration Manager → Active Solution Configuration: Release

2) Архивируем проект в apk file
На проекте Android нажимаем правой клавишей мыши на «Archive»

3) Заполняем информацию о приложении
Нажимаем на «Distribute»

Сохраняем «App2.Android.apk» файл на компьютере например на d: диск
5) Подключаем телефон к компьютеру по USB кабелю
Открываем на компьютере Windows Explorer .
Подключаем телефон и копируем файл с компьютера «d:\App2.Android.apk»
в папку «Downloads» телефона

6) Запускаем «App2.Android.apk» файл на телефоне
Открываем на телефоне Проводник → Загрузки

Запускаем файл «App2.Android.apk» на телефоне
Нажимаем на файл «App2.Android.apk» и телефон установит этот файл как приложение.

Видим что приложение установилось

Запускаем приложение (нажимаем на приложении)
Внимание! При открытии приложения на телефоне нужно выключить режим разработчика .
В телефоне нажимаем: Настройки → Дополнительно → Для разработчиков → выключить Режим разработчика

Приложение запустилось.
← Предыдущая тема
Запуск и отладка Xamarin.Android приложения на телефоне через USB
Следующая тема →
Тестирование Xamarin.Android приложения на телефоне
Подготовка приложения к выпуску
После создания и тестирования кода приложения необходимо подготовить пакет для распространения. Первой задачей при подготовке этого пакета является сборка приложения для выпуска, в основном предполагающая установку некоторых атрибутов приложения.
Чтобы построить приложение для выпуска, выполните следующие действия:
- Укажите значок приложения — для каждого приложения Xamarin.Android должен быть указан значок приложения. С технической точки зрения это не обязательно, однако многие продавцы, например Google Play, требуют, чтобы у приложения был свой значок.
- Версия приложения — этот шаг включает в себя инициализацию или обновление сведений о версиях. Это важно для эффективного обновления приложения в будущем и для того, чтобы пользователи могли знать, какая версия приложения у них установлена.
- Сжатие APK — размер конечного пакета APK можно существенно уменьшить с помощью компоновщика Xamarin.Android в управляемом коде и ProGuard в байт-коде Java.
- Защита приложения — предотвращение отладки, незаконного изменения или реконструирования приложения пользователями или злоумышленниками путем отключения отладки, скрытия управляемого кода, добавления защиты от отладки и незаконного изменения, а также использования собственной компиляции.
- Задать свойства упаковки — свойства упаковки управляют созданием пакета приложений Android (APK). Этот шаг позволяет оптимизировать пакет APK, защитить его ресурс и при необходимости разбить его на модули. Кроме того, вы можете предоставить пользователям пакет приложений Android, оптимизированный для их устройств.
- Компиляция — на этом шаге компилируется код и ресурсы, чтобы убедиться, что сборка выполняется в режиме выпуска.
- Архив для публикации — на этом шаге выполняется сборка приложения и его место в архиве для подписывания и публикации.
Далее эти действия описываются более подробно.
Указание значка приложения
Настоятельно рекомендуется указывать значок приложения для каждого проекта Xamarin.Android. Некоторые магазины приложений не допускают публикацию приложений Android без значков. Указать значок приложения для проекта Xamarin.Android можно с помощью свойства Icon атрибута Application .
- Visual Studio
- Visual Studio для Mac
В Visual Studio 2017 и более поздних версиях значок приложения можно указать в разделе Манифест Android в окне Свойства проекта, как показано на следующем снимке экрана:
![]()
В Visual Studio для Mac значок приложения также можно указать в разделе Приложение Android в окне Параметры проекта, как показано на следующем снимке экрана:
![]()
В этих примерах в @drawable/icon добавлена ссылка на файл значка по пути Resources/drawable/icon.png (обратите внимание, что расширение .png не включено в имя ресурса). Этот атрибут также объявляется в файле Properties\AssemblyInfo.cs, как показано в следующем примере:
[assembly: Application(Icon = "@drawable/icon")]
Как правило, using Android.App объявляется в верхней части AssemblyInfo.cs (для пространства имен атрибута Android.App задается значение Application ). Но, возможно, потребуется добавить инструкцию using , если ее еще нет.
Настройка управления версиями приложения
Управление версиями имеет важное значение для обслуживания и распространения приложений Android. Без какого то ни было механизма управления версиями сложно определить необходимость и способ обновления приложения. Для упрощения управления версиями Android распознает два различных типа сведений:
- Номер версии — целочисленное значение (используемое внутри Android и приложением), представляющее версию приложения. Для большинства приложений номер версии начинается с 1, и с каждой сборкой это значение увеличивается. Это значение не имеет связи или сопоставления с атрибутом имени версии (см. ниже). Пользователи не должны видеть это значение в приложениях и службах публикации. Это значение хранится в файле AndroidManifest.xml в виде android:versionCode .
- Имя версии — строка, используемая только для передачи пользователю сведений о версии приложения (установленной на определенном устройстве). Пользователи должны видеть имя версии. Оно также должно отображаться в Google Play. Android не использует эту строку для внутренних целей. Имя версии может быть любым строковым значением, упрощающим идентификацию сборки, установленной на устройстве пользователя. Это значение хранится в файле AndroidManifest.xml в виде android:versionName .
- Visual Studio
- Visual Studio для Mac
В Visual Studio эти значения можно задать в разделе Манифест Android в окне Свойства проекта, как показано на следующем снимке экрана:

Эти значения можно задать в разделе Build Android Application (Сборка > приложения Android) раздела Параметры проекта, как показано на следующем снимке экрана:

Сокращение объема пакета APK
Размер пакетов APK Xamarin.Android можно уменьшить, используя компоновщик Xamarin.Android, который удаляет ненужный управляемый код, и средство ProGuard из пакета SDK для Android, которое удаляет неиспользуемый байт-код Java. В процессе сборки сначала используется компоновщик Xamarin.Android для оптимизации управляемого кода (C#), а затем применяется ProGuard (если он включен) для оптимизации пакета APK на уровне байт-кода Java.
Настройка компоновщика
Режим «Выпуск» отключает общую среду выполнения и включает компоновку, поэтому приложение поставляет только части Xamarin.Android, необходимые во время выполнения. С помощью статического анализа компоновщик в Xamarin.Android определяет, какие сборки, типы и члены типов использует или указывает приложение Xamarin.Android. Затем компоновщик удаляет все неиспользуемые (или неуказанные) сборки, типы и члены. Это может привести к значительному сокращению размера пакета. Рассмотрим пример HelloWorld, когда окончательный размер пакета APK уменьшается на 83 %:
- Конфигурация: нет — размер Xamarin.Android 4.2.5 = 17,4 МБ.
- Конфигурация: только сборки пакета SDK — размер Xamarin.Android 4.2.5 = 3,0 МБ.
- Visual Studio
- Visual Studio для Mac
Параметры компоновщика можно задать в разделе Параметры Android в окне Свойства проекта:

В раскрывающемся меню Компоновка можно настроить следующие параметры компоновщика:
- None — отключает компоновщик; связывание не выполняется.
- Только сборки пакета SDK — связывает только сборки, необходимые для Xamarin.Android. Другие сборки не компонуются.
- Сборки sdk и пользовательские сборки . Это позволит связать все сборки, необходимые приложению, а не только те, которые требуются Xamarin.Android.
Параметры компоновщика можно настроить на вкладке Компоновщик в разделе Сборка Android окна Параметры проекта, как показано на следующем снимке экрана:

Доступны следующие параметры компоновщика:
- Не связывать — отключает компоновщик; связывание не выполняется.
- Связывание только сборок пакета SDK — связывает только сборки, необходимые для Xamarin.Android. Другие сборки не компонуются.
- Связывание всех сборок . Это позволит связать все сборки, необходимые приложению, а не только сборки, необходимые для Xamarin.Android.
При компоновке могут возникать нежелательные побочные эффекты, поэтому важно повторно протестировать приложение в режиме выпуска на физическом устройстве.
ProGuard
ProGuard является средством пакета SDK для Android, которое компонует и скрывает код Java. ProGuard обычно используется для создания небольших приложений за счет сокращения размера больших включенных библиотек (например, служб Google Play) в пакете APK. ProGuard удаляет неиспользуемый байт-код Java, что приводит к уменьшению размера результирующего приложения. Например, использование ProGuard в небольших приложениях Xamarin.Android обычно достигает сокращения размера примерно на 24 %, а использование ProGuard для более крупных приложений с несколькими зависимостями библиотек обычно достигает еще большего размера.
ProGuard не является альтернативой компоновщику Xamarin.Android. Компоновщик Xamarin.Android связывает управляемый код, а ProGuard — байт-код Java. В процессе сборки сначала используется компоновщик Xamarin.Android для оптимизации управляемого кода (C#) в приложении, а затем применяется ProGuard (если он включен) для оптимизации пакета APK на уровне байт-код Java.
Если параметр Включить ProGuard включен, Xamarin.Android запустит ProGuard в итоговом пакете APK. Во время сборки ProGuard создает и использует файл конфигурации ProGuard. Xamarin.Android также поддерживает настраиваемые действия сборки ProguardConfiguration. В проект можно добавить настраиваемый файл конфигурации ProGuard, щелкнуть его правой кнопкой мыши и выбрать в качестве действия сборки, как показано в следующем примере:
- Visual Studio
- Visual Studio для Mac


По умолчанию средство ProGuard отключено. Параметр Включить ProGuard доступен, только если для проекта задан режим Выпуск. Все действия сборки ProGuard игнорируются до тех пор, пока не будет включен параметр Включить ProGuard. Конфигурация Xamarin.Android ProGuard не скрывает пакет APK. Скрытие невозможно включить даже с помощью настраиваемых файлов конфигурации. Сведения об использовании скрытия см. в разделе Защита приложения с помощью Dotfuscator.
Дополнительные сведения об использовании средства ProGuard см. в разделе ProGuard.
Защита приложения
Выключение отладки
Во время разработки приложения Android отладка выполняется с использованием протокола Java Debug Wire (JDWP). Это технология, которая позволяет таким средствам, как adb, взаимодействовать с виртуальной машиной Java в целях отладки. Протокол JDWP включен по умолчанию для сборок отладки приложения Xamarin.Android. Несмотря на то, что протокол JDWP имеет важное значение во время разработки, он может представлять угрозу безопасности для выпускаемых приложений.
В выпускаемом приложении следует всегда отключать состояние отладки, так как в противном случае можно (через JDWP) получить полный доступ к процессу Java и выполнить произвольный код в контексте приложения.
Манифест Android содержит атрибут android:debuggable , который контролирует возможность отладки приложения. Атрибуту android:debuggable рекомендуется задать значение false . Проще всего это сделать путем добавления инструкции условной компиляции в файл AssemblyInfo.cs:
#if DEBUG [assembly: Application(Debuggable=true)] #else [assembly: Application(Debuggable=false)] #endif
Обратите внимание, что сборки отладки автоматически задают некоторые разрешения для упрощения отладки (например, Internet и ReadExternalStorage). Однако сборки выпуска используют только разрешения, настроенные явным образом. Если обнаружится, что при переключении на сборку выпуска приложение теряет разрешение, которое было доступно в сборке отладки, убедитесь, что это разрешение включено явным образом в списке Необходимые разрешения, как описано в разделе Разрешения.
Защита приложений с использованием Dotfuscator
- Visual Studio
- Visual Studio для Mac
Даже если отладка выключена, злоумышленники по-прежнему могут выполнять повторную упаковку пакета, а также добавлять и удалять параметры конфигурации или разрешения. Это позволяет реконструировать приложение, выполнять его отладку или незаконно изменять. Dotfuscator Community Edition (CE) может использоваться для маскировки управляемого кода и вставки кода обнаружения состояния безопасности среды выполнения в приложение Xamarin.Android на этапе построения, чтобы обнаружить запуск приложения на устройстве с административным доступом и отреагировать соответствующим образом.
Dotfuscator CE входит в состав Visual Studio 2017. Чтобы использовать Dotfuscator, щелкните Инструменты > PreEmptive Protection — Dotfuscator.
Дополнительные сведения о настройке Dotfuscator CE см. в разделе Использование Dotfuscator Community Edition с Xamarin. После настройки Dotfuscator CE будет автоматически защищать каждую создаваемую сборку.
Даже если отладка выключена, злоумышленники по-прежнему могут выполнять повторную упаковку пакета, а также добавлять и удалять параметры конфигурации или разрешения. Это позволяет реконструировать приложение, выполнять его отладку или незаконно изменять. Несмотря на то, что это средство не поддерживает Visual Studio для Mac, вы можете использовать Dotfuscator Community Edition (CE) с Visual Studio для маскировки управляемого кода и вставки кода обнаружения состояния безопасности среды выполнения в приложение Xamarin.Android на этапе построения, чтобы обнаружить запуск приложения на устройстве с административным доступом и отреагировать соответствующим образом.
Дополнительные сведения о настройке Dotfuscator CE см. в разделе Использование Dotfuscator Community Edition с Xamarin. После настройки Dotfuscator CE будет автоматически защищать каждую создаваемую сборку.
Объединение сборок в машинный код
Если этот параметр включен, сборки объединяются в общую библиотеку машинного кода. Это позволяет сжимать сборки и получать файлы .apk меньшего размера. Сжатие сборок также обеспечивает минимальную обфускацию, на которую не следует полагаться.
Этот параметр требует наличия лицензии Enterprise и доступен только при отключении параметра Использовать Fast Deployment. Параметр Объединить сборки в машинный код отключен по умолчанию.
Обратите внимание, что параметр Объединить в машинный кодне означает, что сборки компилируются в машинный код. Параметр Компиляция AOT нельзя использовать для компиляции сборок в машинный код.
Компиляция AOT
Параметр Компиляция AOT (на странице Свойства упаковки страницы) активирует компиляцию AOT (Ahead-of-Time) сборок. Если этот параметр включен, издержки при запуске JIT (Just In Time) уменьшаются путем предварительной компиляции сборки до времени выполнения. Итоговый машинный код включается в пакет APK вместе с нескомпилированными сборками. Это приводит к сокращению времени запуска приложения, но за счет незначительного увеличения размеров APK.
Для использования параметра Компиляция AOT требуется лицензия Enterprise или более высокого уровня. Параметр Компиляция AOT доступен, только если проект настроен для режима «Выпуск». По умолчанию параметр отключен. Дополнительные сведения о компиляции AOT см. в статье об AOT.
Оптимизирующий компилятор LLVM
Оптимизирующий компилятор LLVM создает быстрее скомпилированный код небольшого размера и преобразует AOT-скомпилированные сборки в машинный код, однако это происходит за счет увеличения времени сборки. Компилятор LLVM отключен по умолчанию. Для использования компилятора LLVM сначала необходимо включить параметр Компиляция AOT на странице Свойства упаковки.
Для использования параметра Оптимизирующий компилятор LLVM требуется корпоративная лицензия.
Настройка свойств упаковки
- Visual Studio
- Visual Studio для Mac
Свойства упаковки можно задать в разделе Параметры Android в окне Свойства проекта, как показано на следующем снимке экрана:

Свойства упаковки можно задать в разделе Параметры проекта, как показано на следующем снимке экрана:

Многие из этих свойств, например Использовать общую среду выполнения и Использовать Fast Deployment, предназначены для режима отладки. Тем не менее для режима выпуска приложения предусмотрены другие настройки, которые определяют, как приложение оптимизируется по размеру и скорости выполнения, как обеспечивается защита приложения от незаконного использования и как следует упаковывать приложения для поддержки различных архитектур и ограничений по размеру.
Указание поддерживаемых архитектур
При подготовке приложения Xamarin.Android к выпуску необходимо указать поддерживаемые архитектуры процессоров. Один APK-файл может содержать код для нескольких различных архитектур. О поддержке нескольких архитектур процессоров см. раздел Архитектуры ЦП.
Создание одного пакета (APK) для каждого выбранного ABI
Если этот параметр включен, один пакет APK создается для каждого поддерживаемого ABI (выбираемого на вкладке Дополнительно, как описано в разделе Архитектуры ЦП), а не один большой пакет APK для всех поддерживаемых ABI. Этот параметр доступен, только если проект настроен для режима «Выпуск». По умолчанию параметр отключен.
Multi-DEX
Если параметр Включить Multi-Dex включен, инструменты Android SDK Tools используются для преодоления предела в 65 тысяч методов для формата DEX-файлов. Ограничение в 65 КБ методов основано на количестве методов Java, на которые ссылается приложение (включая методы в любых библиотеках, от которых зависит приложение) — оно не основано на количестве методов, написанных в исходном коде. Если приложение определяет лишь несколько методов, но использует много методов (или большие библиотеки), вероятно, что предел в 65 тысяч будет превышен.
Бывает, что приложение не использует каждый метод в каждой ссылаемой библиотеке. Поэтому можно воспользоваться таким средством, как ProGuard (см. выше), чтобы удалить неиспользуемые методы из кода. Параметр Включить Multi-Dex рекомендуется включать только в случае крайней необходимости, т. е. приложение по-прежнему ссылается на более чем 65 тысяч методов Java даже после использования ProGuard.
Дополнительные сведения о Multi-Dex см. в статье о настройке приложений с более чем 64 тысячами методов.
Пакеты приложений Android
Пакеты приложений отличаются от пакетов APK тем, что их невозможно развернуть непосредственно на устройстве. Скорее, это формат, предназначенный для отправки вместе со всеми ресурсами и скомпилированным кодом. После отправки подписанного пакета приложений в магазине Google Play будет иметься все необходимое для создания и подписывания пакетов APK вашего приложения и их динамической доставки пользователям.
Чтобы включить поддержку пакетов приложений Android, в параметрах проекта Android выберите для свойства Формат пакета Android значение bundle . Прежде чем это сделать, убедитесь, что проект настроен на использование конфигурации Release , поскольку пакеты приложений предназначены только для пакетов выпуска.
Теперь можно создать пакет приложений, выполнив поток архивации. Будет создан пакет приложений для вашего приложения.
Дополнительные сведения о пакетах приложений Android см. в разделе Пакеты приложений Android.
Компилятор
- Visual Studio
- Visual Studio для Mac
После завершения всех описываемых выше действий приложение будет готово для компиляции. Выберите Сборка > перестроить решение , чтобы убедиться, что сборка успешно выполняется в режиме выпуска. Обратите внимание, что на этом шаге еще не создается пакет APK.
В разделе Подписывание пакета приложения более подробно рассматриваются вопросы упаковки и подписывания.
После выполнения всех описанных выше действий скомпилируйте приложение (выберите Собрать > все), чтобы убедиться, что сборка успешно выполняется в режиме выпуска. Обратите внимание, что на этом шаге еще не создается пакет APK.
Архивация для публикации
- Visual Studio
- Visual Studio для Mac
Чтобы начать процесс публикации, щелкните правой кнопкой мыши проект в обозревателе решений и выберите команду контекстного меню Архивировать:

Команда Архивировать запускает диспетчер архивов и начинает процесс архивации пакета приложения, как показано на следующем снимке экрана:

Архив можно создать другим способом. Щелкните правой кнопкой мыши решение в обозревателе решений и выберите команду Архивировать все, которая выполняет построение решения и архивирует все проекты Xamarin, которые доступны для архивации:

При выборе команд Архивировать и Архивировать все автоматически запускается диспетчер архивов. Чтобы запустить диспетчер архивов напрямую, щелкните пункт меню Сервис > Диспетчер архивов. :

Архивы решения можно просмотреть в любое время. Для этого следует щелкнуть правой кнопкой мыши узел Решение и выбрать команду Просмотр архивов:

Диспетчер архивов
В диспетчере архивов представлены область Список решений, область Список архивов, а также панель сведений:

В области Список решений отображаются все решения, для которых существует хотя бы один архивированный проект. Область Список решений включает следующие разделы:
- Текущее решение — отображает текущее решение. Обратите внимание, что эта область может быть пустой, если для текущего решения отсутствует архив.
- Все архивы — отображает все решения, имеющие архив.
- Текстовое поле поиска (вверху) — фильтрует решения, перечисленные в списке Все архивы , в соответствии со строкой поиска, введенной в текстовом поле.
В области Список архивов отображается список всех архивов для выбранного решения. Область Список архивов включает следующие разделы:
- Имя выбранного решения — отображает имя решения, выбранного в списке решений. Все сведения, отображаемые в области Список архивов, относятся к выбранному решению.
- Фильтр платформ — это поле позволяет фильтровать архивы по типу платформы (например, iOS или Android).
- Элементы архива — список архивов для выбранного решения. Для каждого элемента в списке отображаются имя проекта, дата создания и платформа. В процессе архивации или публикации также могут отображаться дополнительные сведения, например информация о ходе выполнения процесса.
В панели сведений представлена дополнительная информация об архиве. Кроме того, из нее пользователь может запустить рабочий процесс распространения или открыть папку, где было создано распространение. В разделе Комментарии к сборке можно добавить комментарии в архив.
Распределение
Если архивированная версия приложения готова к публикации, выберите архив в диспетчере архивов и нажмите кнопку Распространить:

В диалоговом окне Канал распространения приводятся сведения о приложении, информация о ходе выполнения процесса распространения, а также доступные каналы распространения. При первом запуске доступны два варианта:

Вы можете выбирать из следующих каналов распространения:
- Ad-Hoc — сохраняет подписанный пакет APK на диск, который можно загрузить на устройства Android. В разделе Подписывание пакета приложения вы узнаете, как создать удостоверение подписывания Android, как создать новый сертификат подписи для приложений Android и как опубликовать специальную версию приложения на диск. Этот способ удобен для тестирования пакета APK.
- Google Play — публикует подписанный APK-файл в Google Play. В разделе Публикация в Google Play вы узнаете, как подписать пакет APK и опубликовать его в магазине Google Play.
Чтобы начать процесс публикации, выберите Архив сборки > для публикации:

Команда Архивировать для публикации выполняет построение проекта и объединяет его в файл архива. Команда Архивировать все позволяет архивировать все доступные для этого проекты в решении. Любая из этих команд автоматически запускает диспетчер архивов по завершении операции построения и объединения:

В этом примере в диспетчере архивов представлено только архивированное приложение MyApp. Обратите внимание, что в поле комментария можно добавить небольшой комментарий, который будет сохранен вместе с архивом. Чтобы опубликовать архивированную версию приложения Xamarin.Android, выберите приложение в диспетчере архивов и щелкните Подписать и распространить, как показано ниже. В открывшемся диалоговом окне Подписать и распространить будет представлено два варианта:

Здесь можно выбрать канал распространения:
- Ad-Hoc — сохраняет подписанный пакет APK на диск, чтобы его можно было загрузить на устройства Android. Перейдите к разделу Подписывание пакета приложения , чтобы узнать, как создать удостоверение для подписывания Android, создать новый сертификат подписи для приложений Android и опубликовать «нерегламентированное» приложение на диске. Этот способ удобен для тестирования пакета APK.
- Google Play — публикует подписанный APK-файл в Google Play. В разделе Публикация в Google Play вы узнаете, как подписать пакет APK и опубликовать его в магазине Google Play.
Связанные ссылки
- Многоядерные устройства и Xamarin.Android
- Архитектура процессора
- AOT
- Сокращение объемов кода и ресурсов
- Настройка приложений с помощью более чем 64 000 методов
Xamarin как запустить приложение на телефоне
![]()

Поиск
Запуск и отладка Xamarin.Android приложения на телефоне через USB
Посмотрели 5752 раз(а) Комментариев 5
Последний комментарий : (16 сентября 2022 22:37) ГЕНИЙ СДЕЛАЛ ЭТУ ИНСТРУКЦИЮ! Я БОЛЬШЕ 4 ЧАСОВ. читать. написать комментарий.
Запуск и отладка Xamarin.Android приложения на телефоне через USB
последнее обновление: 19 июня 2020
Можно запускать приложение сразу на телефоне через USB кабель.
Сейчас используем телефон с операционной системой Android.
1) Включить телефон в режим разработчика
у меня телефон Xiaomi Redmi Note 2
В телефоне нажимаем: Настройки → О телефоне → нажать 7 раз на «Версия MIUI» появится надпись «вы уже разработчик»
В телефоне нажимаем: Настройки → Группа: система и устройство → Дополнительно(Расширенные настройки) → Для разработчиков → Режим разработчика [•] включить
В телефоне нажимаем: Настройки → Группа: система и устройство → Дополнительно(Расширенные настройки) → Для разработчиков → Отладка по USB [•] включить
В телефоне нажимаем: Настройки → Группа: система и устройство → Дополнительно(Расширенные настройки) → Для разработчиков → Установка через USB [•] включить
2) Собираем приложение (специальная компиляция для телефона)
На проекте Android нажимаем правой клавишей мыши и появится меню. В меню нажимаем на «Deploy»

3) Подключаем телефон к компьютеру с помощью USB-кабеля и запускаем приложение
Сразу после подключения телефона к компьютеру (usb кабелем) вверху рядом с зеленой стрелкой появится название подключенного телефона.
Помните! Телефон должен быть включен режим разработчика
Нажимаем зеленую кнопку — запускаем приложение.

4) Телефон просит разрешения
Приложение на телефоне запустилось

Нажимаем «Установить»
На телефоне появился пустой экран с надписью «Нет приложений».

Ждем и на телефоне появится результат
Через 20 секунд на телефоне появился результат нашей программы.

← Предыдущая тема
Запуск и отладка Xamarin.Android приложения на компьютере(Windows) в режиме эмулятора Android
Создаём первое мобильное приложение на Xamarin
Пилить кросс-платформенные апки можно не только на Java, но и на .NET. Знакомимся с Xamarin.Forms.


Иллюстрация: .NET / Xamarin / Colowgee для Skillbox Media

Евгений Кучерявый
Пишет о программировании, в свободное время создаёт игры. Мечтает открыть свою студию и выпускать ламповые RPG.
Xamarin — это фреймворк для разработки приложений на языках семейства .NET (C#, F#, Visual Basic). Он позволяет написать единый код, который будет работать на Android, iOS и UWP , или нативные программы для этих платформ.
Разберёмся, как создавать приложения на Xamarin.Forms на примере калькулятора для мобильных устройств.
Подготовка к разработке приложения на C#
Сначала скачаем и установим модуль Mobile Development with .NET. Для этого запустите Visual Studio Installer (скачать его можно на официальном сайте), выберите подходящую версию IDE и укажите компонент Mobile Development with .NET.

Когда Visual Studio установится, нужно создать Xamarin-проект.

Для этого можно выбрать проект Mobile App (Xamarin.Forms), работающий на всех платформах, либо отдельно Android App или iOS App.
Важно!
Разработка на Xamarin.Forms и Xamarin различается. В Xamarin.Forms интерфейс создаётся с помощью XAML, а в Xamarin — с помощью нативных средств выбранной платформы.
Теперь укажите название и путь, а потом нажмите Create:

Затем нужно выбрать шаблон. В этой статье рассматривается создание мобильного приложения на примере пустого (Blank) проекта. Обратите внимание, что можно выбрать платформы Android, iOS и UWP. Для последнего нужно скачать дополнительный компонент в Visual Studio Installer — Universal Windows Platform development.

Visual Studio понадобится какое-то время, чтобы подготовить все файлы проекта, а потом стоит сразу установить средства для отладки приложений. Для этого понадобится либо устройство на iOS или Android, либо эмулятор.
Чтобы создать эмулятор Android, выберите пункт Create Android Emulator…, как показано на скриншоте:

Откроется меню добавления устройства. Можно выбрать готовый шаблон из списка, разрядность, версию ОС и многие другие параметры. Не указывайте высокие характеристики, если используется слабый компьютер.

После создания устройства выберите его в списке и нажмите Start:

Эмулятор начнёт скачиваться. После установки его можно будет запустить, чтобы отлаживать приложения.
Другой способ — использовать физическое устройство. Для этого закройте Visual Studio и возьмите смартфон. В настройках найдите Build Version (название и расположение зависит от производителя) и нажмите на него семь раз подряд (это не шутка :)). После этого станут доступными настройки для разработчиков. В них нужно включить USB Debug и подключить устройство к компьютеру.
Откройте Visual Studio и запустите проект, выбрав подключённое устройство:

На устройстве откроется приложение, которое было создано по шаблону:

Поздравляю, первое приложение готово! Закройте его, чтобы вернуться к редактированию кода.
Создание приложения
Приложение разделено на несколько подпроектов. В основном проекте находятся все файлы, с которыми предстоит работать. А в XamarinApp1.Android и XamarinApp1.iOS находится код для этих операционных систем.
Основной проект компилируется в DLL-библиотеки и подключается к подпроектам. Это позволяет писать код один раз и запускать его везде — .NET Framework сам всё скомпилирует, чтобы запустить на разных ОС.
Мобильные приложения на Xamarin создаются с помощью страниц (экранов). По умолчанию основная страница — MainPage. Она состоит из двух файлов:
- MainPage.xaml (язык XAML). Пользовательский интерфейс.
- MainPage.xaml.cs (язык C#). Основная логика приложения, обработка событий.
Начать можно с файла разметки интерфейса. Напишем простой калькулятор:

Посмотреть вид приложения можно с помощью инструмента Designer
Текстовые блоки создаются с помощью элемента , а поля ввода — с помощью . Кнопка — с помощью элемента . Полям ввода указывается атрибут x: Name, чтобы к ним можно было обратиться в коде C#. А для кнопки указывается обработчик события Clicked.
Теперь посмотрим, что происходит в коде MainPage.xaml.cs:
В принципе, Xamarin очень похож на WPF, поэтому разработчики приложений для Windows смогут быстро в него вникнуть — нужно только выучить новые названия элементов и понять различия в реализации привязки данных.
Настройка приложения
Теперь настроим приложение. Для этого зайдите в Project → AppName Properties…:

Откроется меню настроек:

Там можно указать иконку, название, версию, описание и многое другое. Это нужно сделать, чтобы пользователи видели корректную информацию о приложении.
Заключение
После того как приложение будет готово, его можно скомпилировать, чтобы потом передать на мобильное устройство для установки. Установочные пакеты надо искать в папках Bin → Debug необходимой платформы.
Однако, чтобы люди смогли им пользоваться, нужно загрузить его в Google Play и App Store. Впрочем, это уже совсем другая история 🙂
Читайте также:
- Не Windows единой: как писать кросс-платформенные приложения с GUI на C#
- Язык стартапов родом из Японии: знакомимся с Ruby
- Пишем мессенджер на C#. Часть 1. Вёрстка
Universal Windows Platform — технология создания приложений для Windows 10 и 11.