Flutter运行报错:android.jar转换失败,assembleDebug任务执行失败
Flutter assembleDebug任务失败的解决办法
问题说明
编译Flutter项目并执行flutter run时,无论是模拟器还是连接的真机,assembleDebug任务均失败,报错内容如下:
* 出错原因: 任务 ':dynamic_color:parseDebugLocalResources' 执行失败。 > 无法解析配置 ':dynamic_color:androidApis' 的所有文件。 > 无法转换 android.jar 以匹配属性 {artifactType=android-platform-attr, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}。 > PlatformAttrTransform 执行失败: C:\Users\Jonas\AppData\Local\Android\sdk\platforms\android-31\android.jar。 > C:\Users\Jonas\AppData\Local\Android\sdk\platforms\android-31\android.jar * 建议尝试: > 使用 --stacktrace 选项获取堆栈跟踪。 > 使用 --info 或 --debug 选项获取更多日志输出。 > 使用 --scan 选项获取完整分析信息。
已确认Android SDK下载正常,且flutter doctor能识别该SDK。
具体解决方案
- 补全Android 31的SDK组件:打开Android Studio的SDK管理器,切换到SDK Platforms标签,找到Android 12(API 31),勾选Android SDK Platform 31和Sources for Android 31,点击"Apply"重新安装,大概率是该SDK文件损坏或组件不全。
- 清理Gradle缓存:删除项目根目录下的
.gradle文件夹,以及用户目录中的C:\Users\Jonas\.gradle\caches文件夹,之后重新执行flutter run。 - 检查项目编译SDK版本:打开
android/app/build.gradle文件,确认compileSdkVersion设置为31或更高版本(若依赖库要求更高版本),同时保证targetSdkVersion与之一致。 - 替换损坏的android.jar文件:若确认
C:\Users\Jonas\AppData\Local\Android\sdk\platforms\android-31\android.jar损坏,可从正常的Android SDK环境中复制该文件替换,或重新下载Android 31 SDK。 - 更新Gradle版本:打开
android/build.gradle文件,将Gradle插件版本更新至兼容Android 31的版本,例如使用classpath 'com.android.tools.build:gradle:7.0.0'及以上版本。
内容的提问来源于stack exchange,提问作者Jonsch318
相关产品推荐
相关产品推荐

