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

Xamarin中出现java.lang.IllegalArgumentException错误,求解决方案

解决Xamarin中"already added : Landroid/support/v4/..."错误的思路

嘿,这个问题我之前帮不少开发者搞定过!你遇到的Error:java.lang.IllegalArgumentException: already added : Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat;本质上是重复引用了Android Support v4库,或者项目里不同NuGet包/组件依赖了版本不一致的v4库,导致打包时出现重复类冲突。给你几个实用的解决方向:

  • 统一NuGet包版本
    打开项目的NuGet包管理器,搜索所有和Xamarin.Android.Support.v4相关的包,确保它们的版本完全一致。如果存在版本差异,要么统一升级到兼容的最新版本,要么降级到同一个稳定版本。要是遇到第三方组件间接依赖的情况,可以在NuGet控制台执行命令强制指定版本:

    Install-Package Xamarin.Android.Support.v4 -Version [你要统一的版本号]
    
  • 清理重复引用
    右键项目选择「管理NuGet程序包」,在「已安装」标签下检查是否有重复安装的v4相关包(比如同时装了Xamarin.Android.Support.v4和包含它的Xamarin.Android.Support.Design),把多余的卸载掉。另外还要检查项目References里有没有手动添加的Android Support库dll,这类手动引用容易和NuGet包冲突,建议删掉改用NuGet管理。

  • 清理缓存并重建项目
    先点击菜单栏的「生成」->「清理解决方案」,然后手动删除项目目录下的bin和obj文件夹(这两个文件夹的缓存经常会引发奇怪的冲突)。之后重启Visual Studio,再重新生成解决方案,很多时候缓存问题解决后冲突就消失了。

  • 启用ProGuard优化打包
    打开Android项目属性,找到「Android选项」->「打包」,勾选「启用ProGuard」。ProGuard会自动移除重复类和未使用的代码,能有效解决这类重复类问题。不过开启后可能需要配置ProGuard规则,避免误删项目必需的类。

内容的提问来源于stack exchange,提问作者Shi Jie Tio

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:37:24