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

Flutter集成open_filex报错:配置项目':open_filex'失败

问题描述

在Flutter应用中使用open_filex包时出现以下错误:

* 出错原因:
配置项目 ':open_filex' 时出现问题。
> 无法为配置 ':open_filex:classpath' 解析所有文件。
   > 无法下载 gradle-4.1.3.jar (com.android.tools.build:gradle:4.1.3)
      > 无法获取资源 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/4.1.3/gradle-4.1.3.jar'。
         > 无法 GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/4.1.3/gradle-4.1.3.jar'。
            > 服务器可能不支持客户端请求的TLS协议版本: (TLSv1.2, TLSv1.3)。你可能需要配置客户端以允许使用其他协议。
               > PKIX路径构建失败: sun.security.provider.certpath.SunCertPathBuilderException: 无法找到请求目标的有效证书路径

已尝试清理缓存但无效,以下是android目录下的build.gradle文件:

buildscript {
    ext.kotlin_version = '1.7.10'
    repositories {
        google()
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:7.2.0'
        // START: FlutterFire 配置
        classpath 'com.google.gms:google-services:4.3.10'
        // END: FlutterFire 配置
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

rootProject.buildDir = '../build'
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
    project.evaluationDependsOn(':app')
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Flutter Doctor检测结果:

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (稳定通道, 3.7.1, macOS 13.0.1 22A400 darwin-x64, 语言区域 en-GH)
[✓] Android 工具链 - 开发 Android 设备(Android SDK 版本 33.0.1)
[✓] Xcode - 开发 iOS 和 macOS(Xcode 14.1)
[✓] Chrome - 开发 web 应用
[✓] Android Studio(版本 2021.3)
[✓] VS Code(版本 1.78.2)
[✓] 已连接设备(2 台可用)
[✓] HTTP 主机可用性

• 未发现问题!

解决方法

1. 强制子项目使用统一Gradle版本

open_filex依赖的Gradle 4.1.3版本过旧,和项目使用的7.2.0版本不兼容,且旧版本易出现TLS/证书问题。在android/build.gradle中添加配置,强制open_filex使用项目指定的Gradle插件版本:

在现有subprojects块后新增以下内容:

subprojects {
    if (project.name.startsWith('open_filex')) {
        buildscript {
            repositories {
                google()
                mavenCentral()
            }
            dependencies {
                classpath 'com.android.tools.build:gradle:7.2.0'
            }
        }
    }
}

2. 更新open_filex到最新版本

旧版本open_filex可能依赖过时的Gradle配置,执行命令升级包:

flutter pub upgrade open_filex

3. 修复证书信任问题(若上述方法无效)

  • 打开Android Studio,进入File > Settings > Tools > Server Certificates,勾选Accept non-trusted certificates automatically,然后重新同步项目。
  • 或手动导入证书:访问https://dl.google.com导出SSL证书,通过keytool命令导入到Java信任库:
    keytool -importcert -file 你的证书路径.cer -keystore 本地Java环境路径/jre/lib/security/cacerts -alias google_dl
    
    信任库默认密码为changeit。

4. 彻底清理缓存并重建

执行以下命令清理所有缓存后重新构建:

flutter clean
rm -rf android/.gradle android/build ios/.symlinks ios/Pods ios/Runner.xcworkspace
flutter pub get
flutter run

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 21:32:37