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

Xamarin.Android项目运行提示Build Failed,但手动重建成功的问题求助

解决Xamarin.Android项目重建成功但运行提示构建失败的问题

针对你遇到的情况——重建解决方案显示成功但存在CREATEMULTIDEXMAINDEXCLASSLIST重复条目警告,运行时却提示构建失败且无具体错误,哪怕你没主动使用multidex——可以按照以下步骤排查解决:

1. 彻底清理构建缓存

Visual Studio自带的“清理”功能有时不够彻底,旧构建产物残留是这类冲突的常见源头:

  • 右键解决方案,选择清理解决方案
  • 右键你的App1项目,选择清理
  • 手动删除项目目录下的bin和obj文件夹(这两个文件夹存储旧编译文件,很容易残留冲突内容)
  • 完成后重新构建解决方案,再尝试运行

2. 排查依赖中的隐式multidex引入

你没手动启用multidex,但第三方NuGet包或依赖库可能间接引入了相关组件:

  • 打开项目的NuGet包管理器,查看已安装的包,确认是否存在Xamarin.Android.Support.MultiDex这类包
  • 如果发现自动安装了该包,尝试卸载它(前提是没有其他依赖强制要求它)
  • 同时检查项目的引用列表,看是否有重复添加android-support-multidex.jar的情况

3. 强制禁用multidex

确保项目明确禁用multidex功能,避免自动触发相关打包逻辑:

  • 右键项目→属性→Android选项→高级,确认Enable MultiDex未被勾选
  • 如果上述设置不生效,可以直接编辑项目的.csproj文件,在对应配置的PropertyGroup(比如Release模式的PropertyGroup)中添加:
    <AndroidEnableMultiDex>False</AndroidEnableMultiDex>
    

4. 统一Android支持库版本

版本不一致的Android支持库极易引发重复文件冲突:

  • 打开NuGet包管理器,切换到更新标签,将所有Xamarin.Android.Support系列的包更新到同一版本
  • 如果有手动添加的jar包,检查是否存在不同版本的android-support相关文件,移除重复或老旧的版本

5. 切换构建配置测试

尝试切换到Debug模式构建运行:

  • 有时候Release模式的打包优化会放大这类文件冲突问题,先在Debug模式下验证是否能正常运行,如果可以,再针对性排查Release模式的打包设置

问题根源说明

那个重复的META-INF/MANIFEST.MF警告看似只是警告,但实际上会导致打包生成的APK存在结构异常,Xamarin的运行前检查识别到了这个潜在问题,因此抛出“Build Failed”提示却没显示具体错误——因为这个冲突没有被标记为构建错误,但确实影响了运行有效性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:37:23