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

从Xamarin.Android迁移至MAUI时遇JAVA0000重复定义错误

解决MAUI迁移中的JAVA0000重复定义错误

问题根源

迁移后构建报错JAVA0000,提示androidx.collection.ArraySetKt被多次定义,核心原因是项目同时引用了net7.0-android33.0版本的xamarin.androidx.collection.jvm和net6.0-android31.0版本的xamarin.androidx.collection.ktx,两个包包含重复的类文件;另外Xamarin.AndroidX.Lifecycle.Common的警告大概率是版本不兼容导致的。

解决步骤

  • 统一AndroidX包版本
    打开项目的.csproj文件,找到所有Xamarin.AndroidX开头的包引用,把xamarin.androidx.collection.jvm和xamarin.androidx.collection.ktx的版本统一成和项目目标框架匹配的版本(比如都用net7.0-android33.0对应的版本),直接删掉旧的net6.0版本包引用。

  • 清理缓存与构建文件
    执行命令清理NuGet缓存:

    dotnet nuget locals all --clear
    

    手动删除项目目录下的bin和obj文件夹,然后重新构建项目。

  • 处理Lifecycle.Common警告
    先卸载Xamarin.AndroidX.Lifecycle.Common包,然后重新安装和其他AndroidX包版本一致的版本;如果是最新版本仍有警告,检查警告详情,手动指定和项目目标Android版本兼容的版本号。

  • 强制依赖统一(可选)
    如果自动依赖解析还是出问题,在.csproj里给所有AndroidX包添加版本强制设置,比如:

    <PropertyGroup>
      <DependencyVersion>Exact</DependencyVersion>
    </PropertyGroup>
    

    或者对单个包用VersionOverride来锁定版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 18:44:53