VS Code中.NET MAUI Android项目NETSDK1083错误及RuntimeIdentifier疑问
解决.NET MAUI Android项目的NETSDK1083错误
关于android.21-arm和android.21-arm64的用途
这两个是Runtime Identifier(运行时标识),作用是告诉编译器生成适配Android 5.0(API Level 21)ARM/ARM64架构设备的运行时文件。但.NET MAUI 8(对应net8.0-android)的最低支持Android版本是API Level 24,这类旧的API 21相关RID已经被.NET 8 SDK废弃,不再被识别。
能否移除这两个RID?
完全可以,甚至必须移除。原因有两点:
- .NET 8 Android SDK不支持API 21对应的RID,保留只会触发错误
- Debug|AnyCPU配置下,本来就不需要指定具体架构的RID——AnyCPU的设计初衷就是让编译产物适配多种架构,后续打包或运行时再按需处理
具体解决步骤
- 打开项目的
.csproj文件,找到类似如下的配置节点:<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <RuntimeIdentifiers>android.21-arm64;android.21-arm</RuntimeIdentifiers> </PropertyGroup> - 删除
<RuntimeIdentifiers>标签内的android.21-arm64和android.21-arm,如果不需要指定其他RID,也可以直接删掉整个<RuntimeIdentifiers>节点 - 执行命令清理并恢复项目:
dotnet clean dotnet restore - 重新编译项目,错误即可消除
另外补充:你之前尝试的dotnet runtime install命令本身就不正确——.NET CLI没有这个命令,正确的运行时安装命令是dotnet install runtime,但即便用对命令,也找不到API 21的Android运行时,因为它已经被淘汰了。
内容的提问来源于stack exchange,提问作者John_Kub
相关产品推荐
相关产品推荐

