Flutter运行应用时telephony包配置项目报错Gradle构建失败如何解决
问题核心原因
你的报错包含两个核心问题:
- Kotlin版本不兼容:你项目全局配置的Kotlin版本为1.3.50,但
telephony:0.1.4依赖的Kotlin Gradle插件版本为1.4.10,版本 mismatch 导致依赖解析失败 - 仓库配置缺失:默认的google仓库拉取指定版本Kotlin插件时遇到网关错误,且缺少稳定的公共镜像源
- 子项目配置顺序问题: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
相关产品推荐
相关产品推荐

