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

Flutter构建APK报错:无法解析'Properties',求解决方案

Flutter构建APK报错:无法解析'Properties'及终端构建失败解决方案

问题描述

执行flutter build apk时终端报错,同时出现**无法解析'Properties'**的错误,旧版本解决方案无效,相关配置文件如下:

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
    }()

    includeBuild("$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.3.1" apply false
    id "org.jetbrains.kotlin.android" version "2.0.20" apply true
}

include ":app"

Android/build.gradle

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

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

tasks.register("clean", Delete) {
    delete rootProject.buildDir
}

解决方案

1. 修复Properties解析问题

在settings.gradle的pluginManagement块中,显式指定Properties的完整类路径,避免Gradle上下文导致的解析失败:

修改后的pluginManagement部分:

pluginManagement {
    def flutterSdkPath = {
        // 显式使用java.util.Properties完整类名
        def properties = new java.util.Properties()
        file("local.properties").withInputStream { properties.load(it) }
        def path = properties.getProperty("flutter.sdk")
        assert path != null, "flutter.sdk not set in local.properties"
        return path
    }()

    includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")

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

2. 修复Android插件与Kotlin版本兼容性问题

当前配置中com.android.application 7.3.1与kotlin.android 2.0.20版本不兼容,需调整为匹配的版本组合:

修改settings.gradle中的plugins块:

plugins {
    id "dev.flutter.flutter-plugin-loader" version "1.0.0"
    // 升级Android插件到支持对应Kotlin版本的版本
    id "com.android.application" version "8.2.0" apply false
    // 使用与Android插件兼容的Kotlin版本
    id "org.jetbrains.kotlin.android" version "1.9.20" apply false
}

注:apply false表示不在根项目应用插件,而是由app模块的build.gradle自行应用,符合新版Gradle的最佳实践。

3. 验证local.properties配置

确保项目根目录下的local.properties文件存在,且正确配置Flutter SDK路径:

flutter.sdk=/你的Flutter SDK绝对路径

4. 清理并重新构建

执行以下命令清理缓存并重新构建:

flutter clean
flutter build apk

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 15:22:23