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

Xamarin.Android.Support.Design导致应用启动崩溃,寻求解决方案

解决Xamarin.Android.Support.Design引发的资源找不到启动异常

最近我碰到个挺闹心的问题:在Windows上用Visual Studio Professional 15.6.6新建了一个全新的Android项目,通过NuGet安装好Xamarin.Android.Support.Design之后,往Android 8的BLU Vivo XL3设备上部署运行,结果应用直接启动失败,还抛出了这么个异常:

Android.Content.Res.Resources+NotFoundException: File res/drawable-xhdpi-v4/abc_ab_share_pack_mtrl_alpha9.png from xml type layout resource ID #0x7f020000

后来我升级到Visual Studio Professional 15.7.1再测试,结果还是一模一样的报错。折腾了好一阵,整理出几个可行的解决办法,分享给大家:

实用解决步骤

  • 统一所有Support库版本:这是最常见的原因!Xamarin的各类Support库版本必须完全一致,不能有版本不匹配的情况。打开NuGet包管理器,检查所有带Xamarin.Android.Support.前缀的包,把它们全部更新到同一个稳定版本,确保和你安装的Xamarin.Android.Support.Design版本完全对齐。
  • 清理重建项目:有时候项目缓存的资源文件会出问题,先右键项目选择清理,接着点击重建解决方案,完成后再尝试重新部署到设备上,很多时候缓存问题就这么解决了。
  • 检查并补充缺失资源:如果统一版本后还是报错,可以手动检查项目的Resources/drawable相关目录,确认abc_ab_share_pack_mtrl_alpha9.png这个文件是否存在。要是确实缺失,可以从对应版本的Support库安装目录里复制该文件过来,或者彻底卸载再重新安装一次相关的NuGet包。
  • 升级Visual Studio到最新稳定版:15.6和15.7版本相对比较老旧,Xamarin在后续的版本里修复了不少兼容性和资源加载的bug,升级到最新的稳定版Visual Studio大概率能解决这个问题。
  • 调整应用配置优化资源加载:有些设备对高密度资源的加载有特殊处理,可以尝试在项目的AndroidManifest.xml里给application标签添加android:hardwareAccelerated="true"或者android:largeHeap="true"属性,优化内存和资源加载的逻辑。

另外还要注意,要是你的项目里还用到了Xamarin.Forms,一定要确保Xamarin.Forms的版本和Xamarin.Android.Support.Design的版本是兼容的,不能只单独更新某一个包,版本不匹配很容易引发这类资源异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:02:50