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

迁移Xamarin.Android原生项目到.NET6时遇CompilationFailedException错误求助

解决Xamarin.Android迁移.NET6时D8编译失败问题

针对你遇到的Xamarin.Android.D8.targets(79, 5): java.lang.RuntimeException: com.android.tools.r8.CompilationFailedException错误(涉及androidx.lifecycle.DispatchQueue.class),可以尝试以下方案:

  • 清理并重新还原NuGet包

    1. 删除项目根目录下的obj、bin文件夹,彻底清除旧编译缓存
    2. 找到本地.nuget/packages目录,删除其中xamarin.androidx.lifecycle.common相关的文件夹
    3. 打开终端进入项目目录,执行命令:dotnet restore,重新拉取适配.NET6的NuGet包版本
  • 统一AndroidX系列包版本
    检查项目中所有AndroidX相关NuGet包,确保版本保持一致。比如xamarin.androidx.lifecycle.common用2.6.1的话,同系列的xamarin.androidx.lifecycle.viewmodel、xamarin.androidx.lifecycle.livedata等也要同步升级到2.6.1,避免版本不兼容导致的类冲突。

  • 调整D8/R8编译配置
    编辑项目的.csproj文件,添加以下配置调整编译参数:

    <PropertyGroup>
      <AndroidR8EnableProguard>false</AndroidR8EnableProguard>
      <AndroidEnableDesugar>true</AndroidEnableDesugar>
    </PropertyGroup>
    

    这可以禁用R8混淆并启用脱糖,解决部分类编译兼容问题。

  • 确认目标Android版本兼容性
    确保项目的TargetFramework设置为net6.0-android31.0或更高版本,并且已安装对应的Android SDK平台组件(在Android SDK管理器中检查)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 00:12:41