You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET MAUI Android发布构建MSB3073错误排查求助

.NET MAUI Android发布构建MSB3073错误排查与解决

环境信息

  • .NET 7.0.306(x64) / .NET 8预览版
  • Visual Studio 2022 17.6.5 / 17.7
  • 目标平台:Android(三星物理测试设备)

问题现象

调试模式下应用运行正常,但发布构建并部署到设备时,编译末尾触发MSB3073警告:

Severity    Code    Description Project File    Line    Suppression State
Warning     MSB3073: The command ""C:\Program Files (x86)\Android\android-sdk\platform-tools\adb"" -s RFCN30KRB2M uninstall -k "com.company.appname"" exited with code 1.

Visual Studio显示安装完成,但应用处于损坏状态,且已提前手动卸载设备上的同包名应用。

已尝试方案及问题

  • 参考GitHub上Maui Blazor相关问题修复方案,无效果
  • 禁用AOT编译和链接器可解决构建问题,但会导致包体积大幅增大,同时依赖Azure Cognitive Service的核心功能异常,发布模式无法附加调试器:
<PropertyGroup Condition="'$(TargetFramework)' == 'net7.0-android'">
    <RunAOTCompilation>false</RunAOTCompilation>
    <AndroidLinkMode>None</AndroidLinkMode>
</PropertyGroup>
  • 新建空白MAUI项目发布到同一设备仍出现相同错误

解决方案

1. 彻底清理设备上的应用残留

MSB3073错误源于ADB卸载命令执行失败,即使手动卸载,设备可能残留同包名应用数据或组件,执行以下ADB命令彻底清理:

adb shell pm clear com.company.appname
adb shell pm uninstall --user 0 com.company.appname

执行后重新尝试发布构建。

2. 优化AOT与链接器配置

禁用AOT和链接器并非最优解,可针对性调整配置保留核心功能并解决构建问题:

  • 保留AOT编译,设置链接器为SdkOnly模式,并跳过Azure相关依赖的链接处理:
<PropertyGroup Condition="'$(TargetFramework)' == 'net7.0-android'">
    <RunAOTCompilation>true</RunAOTCompilation>
    <AndroidLinkMode>SdkOnly</AndroidLinkMode>
    <AndroidLinkSkip>Azure.AI.FormRecognizer,Azure.Core</AndroidLinkSkip>
</PropertyGroup>
  • 若仍存在资源生成相关问题,添加以下配置:
<PropertyGroup>
    <AndroidUseManagedDesignTimeResourceGenerator>False</AndroidUseManagedDesignTimeResourceGenerator>
</PropertyGroup>

3. 基础配置检查

  • 确保测试设备已开启USB调试和允许安装未知来源应用权限
  • 验证项目AndroidManifest.xml中的包名、签名配置与发布构建设置完全一致
  • 清理项目构建缓存:删除bin、obj目录,重启Visual Studio后重新执行发布流程

内容的提问来源于stack exchange,提问作者AllramEst

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 18:13:34