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

Flutter运行Android项目时:app:mapDebugSourceSetPaths任务执行失败

解决Flutter Android项目中:app:mapDebugSourceSetPaths任务失败问题

核心问题

Gradle无法快照launch_background.xml文件,提示它不是常规文件——根源是文件存在于OneDrive路径下,被同步机制标记为在线文件而非本地实体文件。

解决方案

1. 修复文件本地状态

  • 打开路径C:\Users\xabla\OneDrive\Ambiente de Trabalho\projecs\messages\android\app\src\main\res\drawable,找到launch_background.xml
  • 要是文件显示灰色(OneDrive在线仅存状态),右键选「始终在此设备上保留」,等文件同步成本地常规文件
  • 若文件损坏或同步失败,直接替换成Flutter默认启动页背景文件内容:
    <?xml version="1.0" encoding="utf-8"?>
    <!-- Modify this file to customize your launch splash screen -->
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:drawable="@android:color/white" />
    
        <!-- You can insert your own image assets here -->
        <!-- <item>
            <bitmap
                android:gravity="center"
                android:src="@mipmap/launch_image" />
        </item> -->
    </layer-list>
    

2. 彻底清理项目构建缓存

  • 执行Flutter清理命令:
    flutter clean
    
  • 进入Android目录清理Gradle缓存:
    cd android
    gradlew clean  # Windows系统
    # ./gradlew clean  # Mac/Linux系统
    
  • 删除项目根目录的.dart_tool、build文件夹,以及Android目录下的.gradle、build文件夹

3. 临时绕过Gradle状态跟踪(不推荐长期用)

要是上面的方法都没用,可临时让Gradle跳过该任务的状态检查:
打开Android模块的build.gradle文件,在android代码块里加:

tasks.named('mapDebugSourceSetPaths') {
    doNotTrackState()
}

原因分析

OneDrive的自动同步可能在后台把文件标记成「在线仅存」,导致Gradle识别不了它是常规本地文件,快照操作直接失败。昨天还能正常运行,说明文件状态是同步后才发生变化的。

内容的提问来源于stack exchange,提问作者Vinícius Bruno

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 01:36:06