添加image_picker依赖后Flutter应用编译失败求助
解决Flutter添加image_picker后Android资源链接失败的问题
嘿,这个问题我之前也碰到过!你遇到的android:attr/fontVariationSettings和android:attr/ttcIndex找不到的错误,核心原因是**image_picker依赖需要更高版本的Android SDK编译环境**——这两个属性是Android 9.0(API级别28)才新增的,而你的项目目前用的是API 27,所以才会出现资源链接失败的情况。
下面是具体的解决步骤:
1. 修改Android项目的编译SDK版本
打开你的Flutter项目中的android/app/build.gradle文件,找到compileSdkVersion和targetSdkVersion,把它们都改成28:
android { compileSdkVersion 28 defaultConfig { applicationId "com.bimsina.raktadaan" minSdkVersion 16 // 这个可以保持不变,只要不低于依赖要求的最低版本 targetSdkVersion 28 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } // ...其他配置 }
2. (可选但推荐)更新Gradle插件版本
打开android/build.gradle文件,将Gradle插件版本更新到适配API 28的稳定版本,比如:
buildscript { ext.kotlin_version = '1.6.10' // 可根据实际情况调整 repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.5.4' // 适配API28的稳定版本 classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } }
3. 清理缓存并重新构建项目
在终端中依次运行以下命令,清除旧的构建缓存并重新拉取依赖:
flutter clean flutter pub get flutter run
另外,建议你在pubspec.yaml中给未指定版本的依赖加上稳定版本号,避免自动升级带来的兼容性问题,比如:
dependencies: flutter: sdk: flutter image_picker: ^0.8.4+4 # 可替换为最新稳定版 http: ^0.13.4 google_maps_flutter: ^0.0.3+3 geolocator: ^7.7.0
内容的提问来源于stack exchange,提问作者bimsina
相关产品推荐
相关产品推荐

