如何修复Xamarin.Android中manifest文件报xml/appwidgetprovider资源不存在错误
Xamarin.Android 小组件
xml/appwidgetprovider 资源找不到解决方案 以下是可逐一排查的解决方案:
- 检查xml资源文件配置
- 确认项目
Resources/xml目录下存在appwidgetprovider.xml文件,Android资源区分大小写,文件名必须全小写,无拼写错误 - 右键该xml文件选择「属性」,确认生成操作属性的值为
AndroidResource,若为其他值不会被识别为Android资源打包 - 核对xml文件内容格式,根节点需为
appwidget-provider,无标签未闭合、属性拼写错误等语法问题
- 确认项目
- 核对AndroidManifest.xml配置
- 找到小组件对应的
<receiver>注册节点,检查其下<meta-data>的android:resource属性值是否为@xml/appwidgetprovider,不要额外加.xml后缀,也不要写错资源路径 - 确认Manifest根节点已声明
xmlns:android="http://schemas.android.com/apk/res/android"命名空间,无标签未闭合等格式错误
- 找到小组件对应的
- 清理项目缓存重建
依次执行「清理解决方案」、手动删除项目根目录下的bin和obj文件夹、重新生成解决方案,Xamarin资源缓存异常是这类报错的常见诱因,清理重建后通常可解决 - 检查Receiver类特性配置
如果你是通过C#特性自动生成Manifest配置而非手动编写Manifest,确认小组件对应的广播接收器类上的配置正确:[BroadcastReceiver]特性带有Exported = true以及对应接收小组件广播的IntentFilter配置[MetaData("android.appwidget.provider", Resource = "@xml/appwidgetprovider")]特性的参数拼写、资源路径无误
内容的提问来源于stack exchange,提问作者Kosciuszkobest123
相关产品推荐
相关产品推荐

