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

VS2022中无法调试Xamarin.Android应用:部署后立即闪退

适配Android 12的Xamarin.Android应用在VS2022闪退解决方案
  • 补全AndroidManifest.xml的android:exported属性
    Android 12强制要求所有组件(Activity、Service、Receiver)必须显式声明android:exported属性。打开项目的AndroidManifest.xml,给每个<activity>、<service>、<receiver>添加该属性,主启动Activity必须设为true,示例:

    <activity android:name=".MainActivity" android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    
  • 同步SDK与NuGet包版本
    打开VS2022的「工具→Android→Android SDK管理器」,确认安装Android 12(API 31)的SDK平台、31.0.0及以上版本的SDK Build-Tools。同时更新项目中所有Xamarin相关NuGet包(如Xamarin.Forms、Xamarin.Essentials)到最新稳定版,保证和VS2022的Xamarin.Android环境兼容。

  • 校验JDK与SDK路径配置
    进入「工具→选项→Xamarin→Android设置」,检查JDK路径是否指向VS2022自带的JDK 11(优先用自带版本避免路径冲突),SDK路径是否正确对应已安装Android 12 SDK的目录。

  • 清理编译缓存后重建
    右键项目选择「清理」,再执行「生成」;手动删除项目目录下的bin和obj文件夹,彻底清除旧编译缓存后重新部署。

  • 抓取详细崩溃日志定位问题
    通过Android日志cat获取精准闪退原因:

    1. 打开「工具→Android→Android设备管理器」启动目标设备
    2. 打开「工具→Android→Android日志cat」,过滤应用包名,部署后查看日志中的错误堆栈,定位具体崩溃点(如未处理异常、权限缺失等)
  • 调整项目编译配置
    在项目属性的「Android应用程序」页面,设置:

    • 目标框架为Android 12(API 31)
    • 编译使用的Android版本为Android 12(API 31)
    • 最低Android版本建议不低于Android 8.0(API 26),减少兼容性问题
  • 排查第三方库兼容性
    项目中的第三方库可能未适配Android 12或VS2022环境,逐一排查第三方NuGet包,替换为适配Android 12的版本,或暂时移除可疑库测试是否仍闪退。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 15:48:48