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

Flutter打包APK报错:加载flutter-plugin-loader插件异常

Flutter构建APK失败:无法加载native_plugin_loader.groovy编译类

问题描述

构建APK时触发插件加载异常:

应用插件请求[id: 'dev.flutter.flutter-plugin-loader', version: '1.0.0']时发生异常
应用插件'dev.flutter.flutter-plugin-loader'失败。无法从缓存加载脚本'C:\src\flutter\packages\flutter_tools\gradle\src\main\groovy\native_plugin_loader.groovy'的编译类。

解决步骤

1. 验证Flutter SDK路径有效性

  • 打开项目根目录的local.properties文件,确认flutter.sdk配置的路径(如C:\src\flutter)真实存在,且该路径下的packages/flutter_tools/gradle/src/main/groovy/native_plugin_loader.groovy文件确实存在。
  • 若路径错误,修正后重新同步项目。

2. 清理缓存与构建文件

执行以下操作彻底清理后重新构建:

  • 运行命令:flutter clean
  • 删除项目根目录下的.gradle文件夹
  • 删除android目录下的.gradle和build文件夹
  • 执行flutter pub get拉取依赖
  • 尝试重新构建APK:flutter build apk

3. 调整settings.gradle插件配置

修改pluginManagement区块中的includeBuild写法,避免路径解析问题:

pluginManagement {
    def flutterSdkPath = {
        def properties = new Properties()
        file("local.properties").withInputStream { properties.load(it) }
        def flutterSdkPath = properties.getProperty("flutter.sdk")
        assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
        return flutterSdkPath
    }
    settings.ext.flutterSdkPath = flutterSdkPath()

    // 修改为文件对象方式引用
    includeBuild(new File(settings.ext.flutterSdkPath, "packages/flutter_tools/gradle"))

    repositories {
        google()
        mavenCentral()
        gradlePluginPortal()
    }
}

同时,移除插件版本硬编码(Flutter会自动匹配SDK内置的插件版本):

plugins {
    id "dev.flutter.flutter-plugin-loader" apply false
    id "com.android.application" version "7.4.0" apply false
    id "org.jetbrains.kotlin.android" version "1.8.10" apply false
    id "com.google.gms.google-services" version "4.3.15" apply false
}

4. 同步Flutter与Gradle版本兼容性

  • 运行flutter upgrade升级到最新稳定版Flutter
  • 若Gradle版本过低,更新gradle-wrapper.properties中的distributionUrl到兼容版本(如Flutter 3.10+推荐使用gradle-8.0-all.zip),同时对应升级com.android.application插件版本到8.0.0+

原配置文件参考

settings.gradle

pluginManagement {
    def flutterSdkPath = {
        def properties = new Properties()
        file("local.properties").withInputStream { properties.load(it) }
        def flutterSdkPath = properties.getProperty("flutter.sdk")
        assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
        return flutterSdkPath
    }
    settings.ext.flutterSdkPath = flutterSdkPath()

    includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle")

    repositories {
        google()
        mavenCentral()
        gradlePluginPortal()
    }
}


plugins {
    id "dev.flutter.flutter-plugin-loader" version "1.0.0"
    id "com.android.application" version "7.4.0" apply false //7.3.0
    id "org.jetbrains.kotlin.android" version "1.8.10" apply false
    id "com.google.gms.google-services" version "4.3.15" apply false
}

include ":app"

gradle-wrapper.properties

#Fri Jun 23 08:50:38 CEST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl = https\://services.gradle.org/distributions/gradle-7.6-all.zip
#7.6 

内容的提问来源于stack exchange,提问作者Grace Oduwa Omosumwen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 15:03:16