Xamarin forms android manifest

Файл манифеста AndroidManifest.xml

Файл манифеста AndroidManifest.xml предоставляет основную информацию о программе системе. Каждое приложение должно иметь свой файл AndroidManifest.xml. Редактировать файл манифеста можно вручную, изменяя XML-код или через визуальный редактор Manifest Editor (Редактор файла манифеста), который позволяет осуществлять визуальное и текстовое редактирование файла манифеста приложения.

Назначение файла

  • объявляет имя Java-пакета приложения, который служит уникальным идентификатором;
  • описывает компоненты приложения — деятельности, службы, приемники широковещательных намерений и контент-провайдеры, что позволяет вызывать классы, которые реализуют каждый из компонентов, и объявляет их намерения;
  • содержит список необходимых разрешений для обращения к защищенным частям API и взаимодействия с другими приложениями;
  • объявляет разрешения, которые сторонние приложения обязаны иметь для взаимодействия с компонентами данного приложения;
  • объявляет минимальный уровень API Android, необходимый для работы приложения;
  • перечисляет связанные библиотеки;

Общая структура манифеста

Файл манифеста инкапсулирует всю архитектуру Android-приложения, его функциональные возможности и конфигурацию. В процессе разработки приложения вам придется постоянно редактировать данный файл, изменяя его структуру и дополняя новыми элементами и атрибутами.

Корневым элементом манифеста является . Помимо данного элемента обязательными элементами является теги и . Элемент является основным элементом манифеста и содержит множество дочерних элементов, определяющих структуру и работу приложения. Порядок расположения элементов, находящихся на одном уровне, произвольный. Все значения устанавливаются через атрибуты элементов. Кроме обязательных элементов, упомянутых выше, в манифесте по мере необходимости используются другие элементы.

Описание

Элемент является корневым элементом манифеста. По умолчанию Eclipse создает элемент с четырьмя атрибутами:

Атрибуты

объявляет разрешение, которое используется для ограничения доступа к определенным компонентам или функциональности данного приложения. В этой секции описываются права, которые должны запросить другие приложения для получения доступа к вашему приложению. Приложение может также защитить свои собственные компоненты (деятельности, службы, приемники широковещательных намерений и контент-провайдеры) разрешениями. Оно может использовать любое из системных разрешений, определенных Android или объявленных другими приложениями, а также может определить свои собственные разрешения.

android:name название разрешения android:label имя разрешения, отображаемое пользователю android:description описание разрешения android:icon значок разрешения android:permissionGroup определяет принадлежность к группе разрешений android:protectionLevel уровень защиты

Элемент запрашивает разрешение, которые приложению должны быть предоставлены системой для его нормального функционирования. Разрешения предоставляются во время установки приложения, а не во время его работы.

android:name имеет единственный атрибут с именем разрешения android:name. Это может быть разрешение, определенное в элементе

данного приложения, разрешение, определенное в другом приложении или одно из стандартных системных разрешений, например: android:name=»android.permission.CAMERA» или android:name=»»android.permission.READ_CONTACTS»

Наиболее распространенные разрешения

  • INTERNET — доступ к интернету
  • READ_CONTACTS — чтение (но не запись) данных из адресной книги пользователя
  • WRITE_CONTACTS — запись (но не чтение) данных из адресной книги пользователя
  • RECEIVE_SMS — обработка входящих SMS
  • ACCESS_COARSE_LOCATION — использование приблизительного определения местонахождения при помощи вышек сотовой связи или точек доступа Wi-Fi
  • ACCESS_FINE_LOCATION — точное определение местонахождения при помощи GPS

объявляет базовое имя для дерева разрешений. Этот элемент объявляет не само разрешение, а только пространство имен, в которое могут быть помещены дальнейшие разрешения.

определяет имя для набора логически связанных разрешений. Это могут быть как объявленные в этом же манифесте с элементом

разрешения, так и объявленные в другом месте. Этот элемент не объявляет разрешение непосредственно, только категорию, в которую могут быть помещены разрешения. Разрешение можно поместить в группу, назначив имя группы в атрибуте permissionGroup элемента

Источник

Xamarin.Android Application Fundamentals

This section provides a guide on some of the more common things tasks or concepts that developers need to be aware of when developing Android applications.

Accessibility

This page describes how to use the Android Accessibility APIs to build apps according to the accessibility checklist.

Understanding Android API Levels

This guide describes how Android uses API levels to manage app compatibility across different versions of Android, and it explains how to configure Xamarin.Android project settings to deploy these API levels in your app. In addition, this guide explains how to write runtime code that deals with different API levels, and it provides a reference list of all Android API levels, version numbers (such as Android 8.0), Android code names (such as Oreo), and build version codes.

Resources in Android

This article introduces the concept of Android resources in Xamarin.Android and documents how to use them. It covers how to use resources in your Android application to support application localization, and multiple devices including varying screen sizes and densities.

Activity Lifecycle

Activities are a fundamental building block of Android Applications and they can exist in a number of different states. The activity lifecycle begins with instantiation and ends with destruction, and includes many states in between. When an activity changes state, the appropriate lifecycle event method is called, notifying the activity of the impending state change and allowing it to execute code to adapt to that change. This article examines the lifecycle of activities and explains the responsibility that an activity has during each of these state changes to be part of a well-behaved, reliable application.

Localization

This article explains how to localize a Xamarin.Android into other languages by translating strings and providing alternate images.

Services

This article covers Android services, which are Android components that allow work to be done in the background. It explains the different scenarios that services are suited for and shows how to implement them both for performing long-running background tasks as well as to provide an interface for remote procedure calls.

Broadcast Receivers

This guide covers how to create and use broadcast receivers, an Android component that responds to system-wide broadcasts, in Xamarin.Android.

Permissions

You can use the tooling support built into Visual Studio for Mac or Visual Studio to create and add permissions to the Android Manifest. This document describes how to add permissions in Visual Studio and Xamarin Studio.

Graphics and Animation

Android provides a very rich and diverse framework for supporting 2D graphics and animations. This document introduces these frameworks and discusses how to create custom graphics and animations and use them in a Xamarin.Android application.

CPU Architectures

Xamarin.Android supports several CPU architectures, including 32-bit and 64-bit devices. This article explains how to target an app to one or more Android-supported CPU architectures.

Читайте также:  Общий календарь для семьи андроид

Handling Rotation

This article describes how to handle device orientation changes in Xamarin.Android. It covers how to work with the Android resource system to automatically load resources for a particular device orientation as well as how to programmatically handle orientation changes. Then it describes techniques for maintaining state when a device is rotated.

Android Audio

The Android OS provides extensive support for multimedia, encompassing both audio and video. This guide focuses on audio in Android and covers playing and recording audio using the built-in audio player and recorder classes, as well as the low-level audio API. It also covers working with Audio events broadcast by other applications, so that developers can build well-behaved applications.

Notifications

This section explains how to implement local and remote notifications in Xamarin.Android. It describes the various UI elements of an Android notification and discusses the API’s involved with creating and displaying a notification. For remote notifications, both Google Cloud Messaging and Firebase Cloud Messaging are explained. Step-by-step walkthroughs and code samples are included.

Touch

This section explains the concepts and details of implementing touch gestures on Android. Touch APIs are introduced and explained followed by an exploration of gesture recognizers.

Источник

Подготовка приложения к выпуску

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

Чтобы построить приложение для выпуска, выполните следующие действия:

Укажите значок приложения — для каждого приложения Xamarin. Android должен быть указан значок приложения. С технической точки зрения это не обязательно, однако многие продавцы, например Google Play, требуют, чтобы у приложения был свой значок.

Версия приложения — этот шаг включает инициализацию или обновление сведений об управлении версиями. Это важно для эффективного обновления приложения в будущем и для того, чтобы пользователи могли знать, какая версия приложения у них установлена.

Уменьшение apk — размер окончательного apk можно значительно сократить с помощью компоновщика Xamarin. Android в управляемом коде и защиты байт-кода Java.

Защитите приложение — запретить пользователям или злоумышленникам отладку, изменение или реконструирование приложения путем отключения отладки, маскировки управляемого кода, добавления антивирусной отладки и незаконного изменения и использования собственной компиляции.

Задание свойств упаковки — свойства упаковки управляют созданием пакета приложения Android (APK). Этот шаг позволяет оптимизировать пакет APK, защитить его ресурс и при необходимости разбить его на модули. Кроме того, вы можете предоставить пользователям пакет приложений Android, оптимизированный для их устройств.

Компилировать — этот шаг компилирует код и активы, чтобы убедиться, что он построен в режиме выпуска.

Архивировать для публикации — этот шаг создает приложение и помещает его в Архив для подписывания и публикации.

Далее эти действия описываются более подробно.

Указание значка приложения

Настоятельно рекомендуется указывать значок приложения для каждого проекта Xamarin.Android. Некоторые магазины приложений не допускают публикацию приложений Android без значков. Указать значок приложения для проекта Xamarin.Android можно с помощью свойства Icon атрибута Application .

В Visual Studio 2017 и более поздних версиях значок приложения можно указать в разделе Манифест Android в окне Свойства проекта, как показано на следующем снимке экрана:

В Visual Studio для Mac значок приложения также можно указать в разделе Приложение Android в окне Параметры проекта, как показано на следующем снимке экрана:

В этих примерах @drawable/icon ссылается на файл значка, расположенный в области ресурсы, которые можно @drawable/icon (Обратите внимание, что расширение .png не включено в имя ресурса). Этот атрибут также объявляется в файле Properties\AssemblyInfo.cs, как показано в следующем примере:

Как правило, using Android.App объявляется в верхней части using Android.App (пространство имен Application атрибута — Android.App ); однако может потребоваться добавить эту using инструкцию, если она еще не существует.

Настройка управления версиями приложения

Управление версиями имеет важное значение для обслуживания и распространения приложений Android. Без какого то ни было механизма управления версиями сложно определить необходимость и способ обновления приложения. Для упрощения управления версиями Android распознает два различных типа сведений:

Номер версии — целочисленное значение (используется для внутренних целей Android и приложения), представляющее версию приложения. Для большинства приложений номер версии начинается с 1, и с каждой сборкой это значение увеличивается. Это значение не имеет связи или сопоставления с атрибутом имени версии (см. ниже). Пользователи не должны видеть это значение в приложениях и службах публикации. Это значение хранится в файле AndroidManifest.xml как .

Имя версии — строка, используемая только для передачи сведений пользователю о версии приложения (как установлено на конкретном устройстве). Пользователи должны видеть имя версии. Оно также должно отображаться в Google Play. Android не использует эту строку для внутренних целей. Имя версии может быть любым строковым значением, упрощающим идентификацию сборки, установленной на устройстве пользователя. Это значение хранится в файле AndroidManifest.xml как .

В Visual Studio эти значения можно задать в разделе Манифест Android в окне Свойства проекта, как показано на следующем снимке экрана:

эти значения можно задать с помощью раздела Build Application (сборка приложений Android ) Project Options , как показано на следующем снимке экрана:

Сокращение объема пакета 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 size = 17,4 МБ.

Конфигурация: только сборки пакета SDK — Xamarin. Android 4.2.5 size = 3,0 МБ.

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

В раскрывающемся меню Компоновка можно настроить следующие параметры компоновщика:

Нет — отключает компоновщик; связывание не выполняется.

Только сборки пакета SDK — будут связаны только сборки, необходимые для Xamarin. Android. Другие сборки не компонуются.

Сборки пакета SDK и пользователя — будут связаны все сборки, необходимые для приложения, а не только те, которые необходимы для Xamarin. Android.

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

Доступны следующие параметры компоновщика:

Не компоновать — это отключает компоновщик; связывание не выполняется.

Связать только сборки пакета SDK — будут связаны только сборки, необходимые для Xamarin. Android. Другие сборки не компонуются.

Читайте также:  Как удалить вирус с системы андроида

Связать все сборки — связывает все сборки, необходимые для приложения, а не только те, которые необходимы для Xamarin. Android.

При компоновке могут возникать нежелательные побочные эффекты, поэтому важно повторно протестировать приложение в режиме выпуска на физическом устройстве.

ProGuard

ProGuard является средством пакета SDK для Android, которое компонует и скрывает код Java. ProGuard обычно используется для создания небольших приложений за счет сокращения размера больших включенных библиотек (например, служб Google Play) в пакете APK. ProGuard удаляет неиспользуемый байт-код Java, что приводит к уменьшению размера результирующего приложения. Например, использование средства защиты для небольших приложений Xamarin. Android обычно достигает примерно 24% уменьшения размера — использование защиты для больших приложений с несколькими зависимостями библиотек обычно достигает еще большего уменьшения размера.

ProGuard не является альтернативой компоновщику Xamarin.Android. Компоновщик Xamarin.Android связывает управляемый код, а ProGuard — байт-код Java. В процессе сборки сначала используется компоновщик Xamarin.Android для оптимизации управляемого кода (C#) в приложении, а затем применяется ProGuard (если он включен) для оптимизации пакета APK на уровне байт-код Java.

Если параметр Включить ProGuard включен, Xamarin.Android запустит ProGuard в итоговом пакете APK. Во время сборки ProGuard создает и использует файл конфигурации ProGuard. Xamarin.Android также поддерживает настраиваемые действия сборки ProguardConfiguration. В проект можно добавить настраиваемый файл конфигурации ProGuard, щелкнуть его правой кнопкой мыши и выбрать в качестве действия сборки, как показано в следующем примере:

По умолчанию средство 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:

Обратите внимание, что сборки отладки автоматически задают некоторые разрешения для упрощения отладки (например, Internet и ReadExternalStorage). Однако сборки выпуска используют только разрешения, настроенные явным образом. Если обнаружится, что при переключении на сборку выпуска приложение теряет разрешение, которое было доступно в сборке отладки, убедитесь, что это разрешение включено явным образом в списке Необходимые разрешения, как описано в разделе Разрешения.

Защита приложений с использованием Dotfuscator

Даже если отладка выключена, злоумышленники по-прежнему могут выполнять повторную упаковку пакета, а также добавлять и удалять параметры конфигурации или разрешения. Это позволяет реконструировать приложение, выполнять его отладку или незаконно изменять. Dotfuscator Community Edition (CE) может использоваться для маскировки управляемого кода и вставки кода обнаружения состояния безопасности среды выполнения в приложение Xamarin.Android на этапе построения, чтобы обнаружить запуск приложения на устройстве с административным доступом и отреагировать соответствующим образом.

Dotfuscator CE входит в состав Visual Studio 2017. Чтобы использовать Dotfuscator, щелкните инструменты приоритетное применение защиты — 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 требуется корпоративная лицензия.

Настройка свойств упаковки

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

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

Многие из этих свойств, например Использовать общую среду выполнения и Использовать Fast Deployment, предназначены для режима отладки. Тем не менее для режима выпуска приложения предусмотрены другие настройки, которые определяют, как приложение оптимизируется по размеру и скорости выполнения, как обеспечивается защита приложения от незаконного использования и как следует упаковывать приложения для поддержки различных архитектур и ограничений по размеру.

Указание поддерживаемых архитектур

При подготовке приложения Xamarin.Android к выпуску необходимо указать поддерживаемые архитектуры процессоров. Один APK-файл может содержать код для нескольких различных архитектур. О поддержке нескольких архитектур процессоров см. раздел Архитектуры ЦП.

Читайте также:  Самсунг галакси j2 не включается что делать андроид

Создание одного пакета (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, необходимо явно задать bundle значение свойства bundle в параметрах проекта Android. Прежде чем это сделать, убедитесь, что проект настроен на использование конфигурации Release , поскольку пакеты приложений предназначены только для пакетов выпуска.

Теперь можно создать пакет приложений, выполнив поток архивации. Будет создан пакет приложений для вашего приложения.

Дополнительные сведения о пакетах приложений Android см. в разделе Пакеты приложений Android.

Компилятор

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

В разделе Подписывание пакета приложения более подробно рассматриваются вопросы упаковки и подписывания.

После выполнения всех описанных выше действий скомпилируйте приложение (выберите Построить сборку все), чтобы убедиться, что оно успешно построено в режиме выпуска. Обратите внимание, что на этом шаге еще не создается пакет APK.

Архивация для публикации

Чтобы начать процесс публикации, щелкните правой кнопкой мыши проект в обозревателе решений и выберите команду контекстного меню Архивировать:

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

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

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

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

Диспетчер архивов

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

В области Список решений отображаются все решения, для которых существует хотя бы один архивированный проект. Область Список решений включает следующие разделы:

  • Текущее решение — отображает текущее решение. Обратите внимание, что эта область может быть пустой, если для текущего решения отсутствует архив.
  • Все архивы — отображает все решения с архивом.
  • Текстовое поле поиска (вверху) — фильтрует решения, перечисленные в списке все архивы , в соответствии со строкой поиска, введенной в текстовом поле.

В области Список архивов отображается список всех архивов для выбранного решения. Область Список архивов включает следующие разделы:

  • Выбранное имя решения — отображает имя решения, выбранного в списке решение. Все сведения, отображаемые в области Список архивов, относятся к выбранному решению.
  • Фильтр платформ — это поле позволяет фильтровать архивы по типу платформы (например, 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.

Источник

Оцените статью