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

Flutter运行应用时telephony包配置项目报错Gradle构建失败如何解决

问题核心原因

你的报错包含两个核心问题:

  1. Kotlin版本不兼容:你项目全局配置的Kotlin版本为1.3.50,但telephony:0.1.4依赖的Kotlin Gradle插件版本为1.4.10,版本 mismatch 导致依赖解析失败
  2. 仓库配置缺失:默认的google仓库拉取指定版本Kotlin插件时遇到网关错误,且缺少稳定的公共镜像源
  3. 子项目配置顺序问题:telephony子项目评估时还未加载Android配置,导致找不到android属性

解决方案步骤

步骤1:升级全局Kotlin与Gradle插件版本

修改项目根目录下android/build.gradle的配置:

buildscript {
    // 将原来的1.3.50改为1.4.10
    ext.kotlin_version = '1.4.10'
    repositories {
        // 新增mavenCentral作为优先拉取源
        mavenCentral()
        google()
        jcenter()
    }

    dependencies {
        classpath 'com.google.gms:google-services:4.3.8'
        // 升级Gradle插件版本适配Kotlin1.4.10
        classpath 'com.android.tools.build:gradle:4.0.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

allprojects {
    repositories {
        // 新增mavenCentral作为优先拉取源
        mavenCentral()
        google()
        jcenter()
    }
}

步骤2:修复子项目Android属性找不到问题

替换android/build.gradle中的subprojects配置段:

subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
    // 新增以下判断逻辑,避免子项目未加载Android配置时报错
    afterEvaluate {
        if (project.hasProperty('android')) {
            android {
                compileSdkVersion 28
            }
        }
    }
}
subprojects {
    project.evaluationDependsOn(':app')
}

步骤3:兼容telephony包的最低版本要求

telephony:0.1.4要求Android最低SDK版本为23,修改android/app/build.gradle中的配置:

defaultConfig {
    // 将原来的19改为23
    minSdkVersion 23
    // 其余配置保持不变
}

同时在android/app/src/main/AndroidManifest.xml中添加短信发送权限:

<uses-permission android:name="android.permission.SEND_SMS" />

步骤4:清理缓存重新编译

依次执行以下命令:

  • flutter clean 清理项目缓存
  • flutter pub get 重新拉取依赖
  • 重新运行项目即可正常编译

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 18:36:03