Flutter安装google_fonts包后启动报错,求解决方案
解决安装google_fonts后Flutter应用Dex构建失败问题
针对安装google_fonts后出现的D8空指针和mergeDexDebug失败错误,按以下步骤逐一排查解决:
清理构建缓存并重新拉取依赖
执行以下命令清除旧构建文件和缓存,重新获取依赖:flutter clean flutter pub get升级path_provider_android依赖
错误日志指向path_provider_android的dex转换问题,大概率是该依赖版本过低与google_fonts冲突。在pubspec.yaml中指定最新稳定版的path_provider:dependencies: path_provider: ^2.1.1 # 替换为当前最新稳定版本 google_fonts: ^6.1.0 # 确保google_fonts也是最新版执行
flutter pub get更新依赖。调整Java版本配置
日志中出现Java 8过时警告,D8对Java 8的支持存在兼容性问题,升级到Java 11:- 打开
android/build.gradle,修改编译配置:android { compileOptions { sourceCompatibility JavaVersion.VERSION_11 targetCompatibility JavaVersion.VERSION_11 } kotlinOptions { jvmTarget = '11' } } - 在
android/gradle.properties中添加JDK路径(替换为你的JDK 11实际路径):org.gradle.java.home=C:\\Program Files\\Java\\jdk-11.0.17
- 打开
检查Gradle与AGP版本兼容性
你的AGP版本是7.3.0,需对应Gradle 7.4版本:
打开android/gradle/wrapper/gradle-wrapper.properties,修改distributionUrl:distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip修正Multidex配置(若需)
你当前minSdk为19,AndroidX的multidex才是正确选择,移除之前的com.android.support:multidex,替换为:dependencies { implementation 'androidx.multidex:multidex:2.0.1' } android { defaultConfig { multiDexEnabled true } }若你的minSdk>=21,可直接删除所有multidex配置,系统默认支持。
内容的提问来源于stack exchange,提问作者Anibal Dams
相关产品推荐
相关产品推荐

