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

Flutter实现桌面部件时AndroidManifest找不到@xml资源如何解决

报错原因

该错误是Android构建系统无法找到你在AndroidManifest.xml中引用的桌面部件配置文件widget_info.xml,这是实现Android桌面部件的必需配置项,需要手动创建。

解决步骤

1. 创建xml资源目录

进入Flutter项目对应的Android资源目录:android/app/src/main/res/,检查该目录下是否存在xml文件夹,若不存在则手动新建。

2. 新增widget_info.xml配置文件

在刚创建的xml文件夹下新建名为widget_info.xml的文件,粘贴以下基础配置,可根据实际需求调整参数:

<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
    android:minWidth="40dp"
    android:minHeight="40dp"
    android:updatePeriodMillis="86400000"
    android:initialLayout="@layout/widget_layout"
    android:resizeMode="horizontal|vertical"
    android:widgetCategory="home_screen">
</appwidget-provider>

核心参数说明:

  • minWidth/minHeight:桌面部件的默认最小宽高
  • updatePeriodMillis:部件自动更新的时间间隔,单位为毫秒,系统限制最小间隔为30分钟
  • initialLayout:部件使用的布局文件引用,后续需要对应创建该布局文件
  • resizeMode:部件支持的缩放方向
  • widgetCategory:指定部件可展示在主屏幕

3. 补充部件布局文件

进入android/app/src/main/res/目录,检查是否存在layout文件夹,不存在则新建。在layout文件夹下创建widget_layout.xml文件,编写部件的界面布局,示例如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ffffff"
    android:gravity="center">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello Flutter Widget"
        android:textColor="#000000"
        android:textSize="16sp"/>
</LinearLayout>

4. 重新构建项目

执行flutter clean清理项目缓存后,重新运行项目即可解决该资源找不到的报错。

内容的提问来源于stack exchange,提问作者Geralt von Riva

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 16:54:08