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

Flutter项目在Android模拟器/真机运行失败,Chrome可正常运行

解决Flutter Android端启动依赖解析错误(Chrome正常运行)

问题核心

所有Flutter项目在Android模拟器/真机启动时失败,提示Content is not allowed in prolog错误,无法解析guava、gson等依赖,但Chrome端运行正常。这是Gradle本地缓存的依赖pom文件损坏导致的,通常由下载不完整或缓存文件被篡改引发。

解决方案

1. 清理缓存并重启

  • 执行Flutter项目清理命令:
    flutter clean
    
  • 删除本地Gradle缓存目录:
    • Windows:删除C:\Users\<你的用户名>\.gradle\caches文件夹
    • macOS/Linux:删除~/.gradle/caches文件夹
  • (可选)在Android Studio中操作:File > Invalidate Caches... > 选择Invalidate and Restart

2. 强制重新下载依赖

进入项目的android目录,执行对应系统的命令:

  • Windows:
    gradlew.bat build --refresh-dependencies
    
  • macOS/Linux:
    ./gradlew build --refresh-dependencies
    

3. 优化仓库访问(解决网络导致的下载失败)

如果网络访问mavenCentral/google仓库不稳定,可替换为国内镜像,修改项目根目录build.gradle:

buildscript {
    ext.kotlin_version = '1.6.10'
    repositories {
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/public' }
        google()
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:7.1.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

allprojects {
    repositories {
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/public' }
        google()
        mavenCentral()
    }
}

4. 验证依赖版本兼容性

Gradle 7.1.2与Kotlin 1.6.10兼容,若仍有问题,可升级Kotlin版本到1.6.21(更匹配的版本):

ext.kotlin_version = '1.6.21'

原理说明

Content is not allowed in prolog是XML文件解析错误,说明缓存的pom文件(依赖元数据)开头存在多余字符或文件损坏。清理缓存后重新下载完整的依赖文件,即可解决解析失败问题;更换仓库镜像可避免网络波动导致的依赖下载不完整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 13:05:43