.NET MAUI VS 2022 Как указать целевую версию Android?

Как в MAUI/VS 2022 указать целевую версию Android, отличную от 34? В раскрывающемся списке Visual Studio отображается только 34. Если я вручную отредактирую манифест и отключу опцию «преобразовать свойства проекта в атрибуты сборки во время сборки», я получу эту ошибку:

    error XA1036: AndroidManifest.xml //uses-sdk/@android:minSdkVersion '26' does not match the 
    $(SupportedOSPlatformVersion) value '21.0' in the project file (if there is no 
    $(SupportedOSPlatformVersion) value in the project file, then a default value has been 
    assumed).
    error XA1036: Either change the value in the AndroidManifest.xml to match the 
    $(SupportedOSPlatformVersion) value, or remove the value in the AndroidManifest.xml (and add 
    a $(SupportedOSPlatformVersion) value to the project file if it doesn't already exist).
    warning XA4211: AndroidManifest.xml //uses-sdk/@android:targetSdkVersion '31' is less than 
    $(TargetFrameworkVersion) ''. Using API-34 for ACW compilation.
    4>Done building project ... -- FAILED.

Я почти уверен, что у меня установлены все необходимые Android SDK. Почему Visual Studio 2022 не отображает их в качестве параметров?

Вы проверяли официальный документ о <use sdk>?

Liyun Zhang - MSFT 28.08.2024 16:14

@LiyunZhang-MSFT: Да. Я понимаю настройки <uses_sdk> в манифесте. Мой вопрос заключался в том, почему невозможно установить TargetFrameworkVersion в настройках проекта 2022. Мне представлен только «34», хотя установлено много других.

DA Consulting 28.08.2024 17:06

@DAConsulting Параметр настройки проекта используется для установки TFV компиляции для проекта, поэтому вам не нужно его устанавливать. Вы можете использовать <uses-sdk android:minSdkVersion = "32" android:targetSdkVersion = "34" в AndroidManifest.xml, чтобы установить его, см. stackoverflow.com/a/78733354/9644964 . Что касается ошибки, см. это решение: Learn.microsoft.com/en-us/dotnet/android/messages/…

Alexandar May - MSFT 29.08.2024 08:06

@AlexandarMay-MSFT: Спасибо. Да.... Я сделал это, и теперь я могу нацелиться на 31, а не на 34. Однако мне, честно говоря, хотелось бы, чтобы MS НЕ пыталась «устроить театр» при редактировании манифеста. Это просто грязно и запутанно. Помните инженерную аксиому «KISS» (Будьте проще и глупее). ;-)

DA Consulting 29.08.2024 16:25
0
4
51
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вы хотите указать целевую версию Android для target 31, вы можете вручную указать SDK, вручную добавив следующий код в Platfroms/Android/AndroidMenifest.xaml проекта MAUI, как показано ниже. Вам не нужно устанавливать SDK в раскрывающемся списке в Visual Studio, что противоречит здравому смыслу.

<uses-sdk android:minSdkVersion = " " android:targetSdkVersion = "31"/>

Кроме того, рекомендуется опубликовать его в Visual Studio Feedback, если у вас есть какие-либо другие проблемы.

Другие вопросы по теме