Версия Android Mono или Пакет поддержки - PullRequest
0 голосов
/ 27 апреля 2018

Допустим, я хочу убедиться, что все устройства Android 7.0 могут запускать мое приложение.

При установке пакетов NuGet, на какую версию следует обратить внимание?

Версия Android Mono или версия пакета поддержки?

Должен ли я выбрать A или B? Кстати, Android 7.0 - это то же самое, что Android Mono 7.0 или нет?

A or B?

1 Ответ

0 голосов
/ 27 апреля 2018

В первую очередь MonoAndroid V7.0 и Android V7.0 - это не одно и то же.

Mono Android - это реализация Microsoft .NET Framework с открытым исходным кодом, основанная на открытых стандартах для языка C # и Common Language Runtime, тогда как Android - это мобильная операционная система, разработанная Google на основе модифицированной версии ядра Linux. и другое программное обеспечение с открытым исходным кодом.

Чтобы ответить на ваш первый вопрос, библиотеки поддержки на самом деле работают не так, как вы понимаете, чтобы убедиться, что ваше приложение работает на всех устройствах Android 7.0, вам нужно убедиться, что у вас есть Android SDK, и что ваша версия compilesdkversion минимальна. кроме этого, теперь библиотеки поддержки теперь предназначены для обеспечения совместимости. Предположим, у вас есть приложение, предназначенное для V 5.1, и есть API, который доступен в 5.1, но если вы хотите использовать его на своем устройстве ниже, вам нужно иметь библиотеку поддержки V21 для более глубокого понимания до конца.

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

Целевая структура:

Target Framework - Указывает, какую инфраструктуру использовать при создании приложения. Этот уровень API используется во время компиляции Xamarin.Android.

Framework, на который вы хотите ориентироваться для своего приложения для Android, и это на самом деле A для вас, и это не имеет никакого отношения к тому, будет ли оно работать на устройстве выше, чем оно в основном предоставляет вам новые функции которые доступны для этой платформы Android. Target Framework (также известная как compileSdkVersion) - это конкретная версия платформы Android (уровень API), для которой ваше приложение компилируется во время сборки. Этот параметр указывает, какие API ожидает ваше приложение при запуске, но не влияет на то, какие API фактически доступны вашему приложению, когда оно установлено. В результате изменение параметра Target Framework не меняет поведения во время выполнения.

Например: если вы нацелены на что-либо ниже V6.0, вам не нужно предоставлять какие-либо разрешения времени выполнения или если вы нацеливаетесь на v8.0, вы можете использовать адаптивные значки и так далее, и так далее. Target Framework определяет, с какими версиями библиотеки связано ваше приложение - это определяет, какие API вы можете использовать в своем приложении. Например, если вы хотите использовать метод NotificationBuilder.SetCategory, который был представлен в Android 5.0 Lollipop, необходимо установить для Target Framework API Level 21 (Lollipop) или более поздней версии. Если вы установите для Target Framework вашего проекта уровень API, например API Level 19 (KitKat), и попытаетесь вызвать метод SetCategory в своем коде, вы получите ошибку компиляции.

Также Примечание:

Начиная с августа 2018 года, Консоль Google Play будет требовать, чтобы новые приложения были нацелены на уровень API 26 (Android 8.0) или выше. Существующие приложения должны будут ориентироваться на уровень API 26 или выше, начиная с ноября 2018 года. Для получения дополнительной информации см. Повышение безопасности и производительности приложений в Google Play на ближайшие годы.

Минимальная версия Android

Минимальная версия Android - указывает самую старую версию Android, которую вы хотите, чтобы ваше приложение поддерживало. Этот уровень API используется во время выполнения Android.

The Минимальная версия Android (также известная как minSdkVersion) - это самая старая версия ОС Android (т. е. самый низкий уровень API), которая может устанавливать и запускать ваше приложение. По умолчанию приложение может быть установлено только на устройствах, соответствующих настройке Target Framework или выше; если параметр Минимальная версия Android ниже, чем параметр Target Framework, приложение также может работать на более ранних версиях Android. Например, если вы установите Target Framework на Android 7.1 (Nougat) и установите минимальную версию Android на Android 4.0.3 (Ice Cream Sandwich), ваше приложение можно будет установить на любую платформу от уровня API 15 до уровня API 25 включительно. .

Например: хотя ваше приложение может успешно собираться и устанавливаться на этом диапазоне платформ, это не гарантирует, что оно будет успешно работать на всех этих платформах. Например, если ваше приложение установлено на Android 5.0 (Lollipop) и ваш код вызывает API, который доступен только в Android 7.1 (Nougat) и новее, ваше приложение получит ошибку времени выполнения и, возможно, произойдет сбой. Следовательно, ваш код должен гарантировать - во время выполнения - что он вызывает только те API, которые поддерживаются устройством Android, на котором он работает. Другими словами, ваш код должен включать в себя явные проверки во время выполнения, чтобы гарантировать, что ваше приложение использует более новые API только на устройствах, которые достаточно недавние, чтобы их поддерживать.

Целевая версия Android

Целевая версия Android - указывает версию Android, на которой должно работать ваше приложение. Этот уровень API используется во время выполнения Android.

Целевая версия Android (также известная как targetSdkVersion) - это уровень API устройства Android, на котором приложение будет работать. Android использует этот параметр, чтобы определить, следует ли включить какое-либо поведение совместимости - это гарантирует, что ваше приложение продолжает работать так, как вы ожидаете. Android использует настройку целевой версии Android вашего приложения, чтобы выяснить, какие изменения поведения можно применить к вашему приложению, не нарушая его (именно так Android обеспечивает прямую совместимость).

Target Framework и версия Target Android, хотя и имеют очень похожие имена, не одно и то же. Параметр Target Framework передает информацию о целевом уровне API в Xamarin.Android для использования во время компиляции, тогда как версия Target Android передает информацию о целевом уровне API в Android для использования во время выполнения (когда приложение установлено и работает на устройстве).

Как правило, целевая версия Android должна быть ограничена минимальной версией Android и целевой платформой. То есть:

Минимальная версия Android <= Target Android Version <= Target Framework </strong>

Библиотеки поддержки

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

Для большего понимания и справки для библиотек поддержки: https://blog.xamarin.com/mastering-android-support-libraries/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...