添加Flutter url_launcher依赖时Gradle构建失败求助
解决添加url_launcher后Flutter Gradle构建失败(android.jar转换错误)
在23021RAAEG设备上以Debug模式启动lib\main.dart,执行Gradle任务'assembleDebug'失败。具体异常为:任务':path_provider_android:parseDebugLocalResources'执行失败,无法解析':path_provider_android:androidApis'配置的所有文件,转换C:\Users\a\AppData\Local\Android\sdk\platforms\android-34\android.jar失败。
解决方案
1. 验证Android SDK API 34完整性
- 打开Android Studio的SDK Manager,找到Android 14 (API 34),确认
SDK Platform和Sources for Android 34已完整安装,若有缺失点击"Apply"重新安装。 - 手动检查
C:\Users\a\AppData\Local\Android\sdk\platforms\android-34\目录下的android.jar文件:- 若文件不存在,直接删除
android-34目录后重新安装SDK; - 若文件存在但大小异常(比如仅几KB),说明文件损坏,同样删除目录后重装。
- 若文件不存在,直接删除
2. 清理构建缓存
- 执行Flutter项目清理:
flutter clean - 删除项目内的Gradle缓存目录:
项目根目录/android/.gradle - 删除全局Gradle缓存:
C:\Users\a\.gradle\caches - 重新拉取依赖并构建:
flutter pub get flutter run
3. 调整Android编译配置
- 打开
android/app/build.gradle,将compileSdkVersion和targetSdkVersion降级到33(若API 34存在兼容问题):android { compileSdkVersion 33 defaultConfig { targetSdkVersion 33 // 保留其他原有配置 } } - 检查
android/build.gradle中的Gradle插件版本,确保与SDK版本适配,比如使用7.4.2版本:buildscript { dependencies { classpath 'com.android.tools.build:gradle:7.4.2' // 其他依赖配置 } }
4. 锁定依赖版本
- 运行
flutter pub deps查看path_provider_android的依赖版本,若版本过旧,在pubspec.yaml中显式指定兼容版本:dependencies: url_launcher: ^6.2.5 path_provider: ^2.1.2 - 执行
flutter pub get更新依赖后重新构建。
内容的提问来源于stack exchange,提问作者Amr Khaled
相关产品推荐
相关产品推荐

