如何永久修改.NET MAUI 7项目的Android最低SDK版本?
解决.NET MAUI 7中AMM0000错误(minSdkVersion自动重置)的永久方案
你手动修改AndroidManifest.xml后配置被覆盖,是因为.NET MAUI的构建逻辑会根据项目核心配置自动生成/覆盖该文件内容,直接改Manifest没用,得从项目配置入手:
方法一:通过项目属性UI修改(对应你提供的截图操作)
- 右键你的MAUI项目 → 选择「属性」
- 切换到「Android」选项卡,找到「Android版本」区域
- 将「最低Android版本(API级别)」选择为API 21(Android 5.0)
- 保存设置后重新构建,这个配置会被持久化,不会再被重置
方法二:直接编辑项目.csproj文件
- 右键项目 → 选择「编辑项目文件」
- 在
<PropertyGroup>节点下添加或修改AndroidMinSdkVersion配置:<PropertyGroup> <!-- 保留原有其他配置,新增或修改这一行 --> <AndroidMinSdkVersion>21</AndroidMinSdkVersion> </PropertyGroup> - 保存文件后重新构建即可
可选方案:强制使用原minSdk(有运行时风险)
如果不想提升最低SDK版本到21,可尝试官方提到的tools:overrideLibrary方案,但需自行承担运行时故障风险:
- 打开
Platforms\Android\AndroidManifest.xml,在根manifest节点添加tools命名空间:<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="你的应用包名"> - 修改
uses-sdk节点:<uses-sdk android:minSdkVersion="19" tools:overrideLibrary="androidx.security" /> - 为了避免构建时被覆盖,需在.csproj里添加以下配置,确保Manifest的自定义设置生效:
<PropertyGroup> <AndroidManifestMerger>manifestmerger.jar</AndroidManifestMerger> </PropertyGroup> <ItemGroup> <AndroidManifestOverlay Include="Platforms\Android\AndroidManifest.xml" /> </ItemGroup>
内容的提问来源于stack exchange,提问作者Thomas Carlton
相关产品推荐
相关产品推荐

