Flutter引入AudioPlayers包后assembleDebug构建失败求助
以下是针对你遇到的path_provider_android:compileDebugJavaWithJavac任务失败、jlink.exe执行出错问题的新手友好解决步骤:
检查JDK版本兼容性
Android Studio 2024.2.1默认搭载的Embedded JDK 17可能与Flutter 3.5.4存在适配问题。打开Android Studio的File → Project Structure → SDK Location,查看当前JDK位置。如果是Embedded JDK,切换到本地安装的JDK 11(Flutter 3.x版本对JDK 11兼容性更好)。切换完成后重启IDE,依次执行flutter clean和flutter pub get,再尝试构建项目。强制降级path_provider_android依赖
报错指向的path_provider_android是audioplayers的依赖包,新版本可能与你的Flutter版本不兼容。在项目根目录的pubspec.yaml中添加依赖覆盖规则:dependency_overrides: path_provider_android: ^2.0.27执行
flutter pub get拉取指定版本依赖后,重新构建项目。清理项目缓存与Gradle缓存
缓存冲突是常见的构建失败诱因,按以下步骤操作:- 在终端执行
flutter clean清理Flutter项目缓存; - 删除项目
android/.gradle文件夹(注意是项目内的gradle文件夹,不是全局的); - 打开Android Studio,点击
File → Invalidate Caches...,勾选Invalidate and Restart,重启IDE后重新构建。
- 在终端执行
匹配Flutter与Android Gradle Plugin版本
Flutter 3.5.4建议搭配Android Gradle Plugin 7.4.x版本,而Android Studio 2024.2.1默认的AGP版本可能过高。修改项目android/build.gradle文件中的AGP版本:dependencies { classpath 'com.android.tools.build:gradle:7.4.2' // 保留其他原有依赖 }同时修改
android/gradle/wrapper/gradle-wrapper.properties中的Gradle版本:distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip保存文件后执行
flutter pub get,再尝试构建。验证音频资源配置
确保note1.wav文件放在项目的assets/目录下,并在pubspec.yaml中正确声明资源:assets: - assets/note1.wav虽然这不是当前Gradle报错的直接原因,但提前确认配置正确可避免后续运行问题。
内容的提问来源于stack exchange,提问作者Stefan

