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

使用Visual Studio 2022开发Xamarin Forms发布包时遇MSB6006错误

解决Xamarin Forms发布包时MSB6006: java.exe退出代码1的问题

可能的原因及修复步骤

1. 检查System.Data.SQLClient的兼容性

  • Xamarin环境下,System.Data.SQLClient在发布模式下易出现兼容性问题,建议替换为SQLite-net-pcl或Microsoft.Data.SqlClient(适配.NET Standard的版本),后者对移动平台支持更完善。
  • 操作步骤:在NuGet包管理器中卸载System.Data.SQLClient,清理项目后重新安装适配包。

2. 调整发布模式的代码优化设置

  • 右键Android项目 → 属性 → 生成 → 发布配置:
    • 暂时取消勾选启用代码收缩(R8/ProGuard),若必须启用,需在Properties/ProGuard.cfg中添加规则保留相关类:
      -keep class System.Data.** { *; }
      -keep class System.Data.SqlClient.** { *; }
      
    • 取消勾选优化代码选项,测试是否能正常打包。

3. 排查Java环境配置

  • 确认Visual Studio使用的JDK版本兼容Xamarin Android要求(推荐JDK 11):
    • 工具 → 选项 → Xamarin → Android 设置,验证JDK路径指向正确的JDK 11安装目录。
  • 删除C:\Users\[你的用户名]\.gradle目录下的缓存文件,清理Java编译缓存后重新生成项目。

4. 清理项目资源与依赖

  • 执行清理操作:菜单 → 生成 → 清理解决方案,手动删除各项目的bin和obj目录,再重新生成发布包。
  • 检查Android项目的Resources目录,确保无重复命名的资源文件(如布局、图片),这类冲突容易触发发布阶段的Java编译错误。

5. 版本兼容性校验

  • 更新Xamarin相关组件到最新稳定版:工具 → Android SDK管理器,更新SDK及配套工具。
  • 确保所有NuGet包的目标框架一致(统一为.NET Standard 2.0或更高,匹配Xamarin Forms要求)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 17:32:38