У меня есть приложение для Android Xamarin с android:minSdkVersion="15"
и android:targetSdkVersion="21"
. Оказалось, что IDE (студия xamarin, визуальная студия) и процесс компиляции просто игнорируют, если я использую что-то выше API 15, которое здесь не ожидается.
Например, существует метод Path.addArc(float,float,float,float,float,float)
из API 21
, и я смог использовать его с указанными выше параметрами манифеста, которые дали мне ошибку времени выполнения NoSuchMethodError
.
Существует простое исправление для использования перегрузки Path.addArc(RectF,float,float)
из API 1
, но мой вопрос связан скорее с тем, как получить ошибку времени компиляции или время выполнения.
[ОБНОВЛЕНИЕ]
В принципе, я хочу поддерживать обратную совместимость для API 15
(минимальная версия для Android), имея API 21
в качестве целевой версии для Android. И я хочу получить поддержку IDE, когда я пытаюсь использовать любой метод выше API 15
. Это означает, что мне нужно предупредить, что я использую метод, который не существует в минимальной версии для Android, поэтому, пожалуйста, выполните проверку версии во время выполнения.
Возможно ли это?
Чтобы получить предупреждения о времени компиляции, вам необходимо установить целевую платформу для минимального SDK, который вы хотите поддержать. Это даст вам ошибки при попытке использовать apis более высокого уровня. Откройте диалоговое окно "Параметры проекта". В этом диалоговом окне нажмите "Сборка" > "Общие"
Вы можете прочитать здесь уровни api https://developer.xamarin.com/guides/android/application_fundamentals/understanding_android_api_levels/#Target_Framework
Если вы просто хотите получить сообщение об ошибке при сохранении целевой структуры, вы можете изменить свои настройки среды IDE, чтобы выбросить ошибку времени компиляции и предупреждение.