Flutter构建APK报错 - Gradle版本与Java版本不兼容
Flutter构建APK报错 - Gradle版本与Java版本不兼容
兄弟,我太懂你第一次打包APK碰钉子的郁闷了!模拟器上跑的顺顺当当,一到正式打release包就报错,这俩问题其实都是工具版本不兼容搞的鬼,给你一步步说怎么解决:
第一个错误:SDK XML版本不匹配
你遇到的报错内容是:
This version only understands SDK XML versions up to 3 but an SDK XML file of version 4 was encountered. This can happen if you use versions of Android Studio and the command-line tools that were released at different times.
这完全是Android Studio和命令行工具版本不同步导致的,修复步骤很简单:
- 打开Android Studio,点顶部菜单栏的
Tools > SDK Manager > SDK Tools,找到Android SDK Command-line Tools,你会发现可能装了好几个版本,把旧的都卸载掉,只保留最新的那一个,然后点Apply完成安装。 - 接着打开你Flutter项目里的
android/build.gradle文件,把compileSdkVersion改成和你当前SDK工具匹配的版本(比如你装的是API 34,就设为34),同时把com.android.tools.build:gradle的版本升级到和Android Studio兼容的版本——比如你用的是Android Studio Hedgehog,gradle插件用8.2.0就刚好适配。
第二个错误:Execution开头的执行异常
虽然你没写完这个错误,但这类打包时的执行错误,90%都是Gradle和Java版本不兼容的锅,给你通用的解决办法:
- 先打开项目里的
android/gradle/wrapper/gradle-wrapper.properties文件,看distributionUrl里的Gradle版本:- 如果是Gradle 7.x系列,用Java 11就能正常运行;
- 如果是Gradle 8.x及以上,必须用Java 17才行。
- 回到Android Studio,点
File > Project Structure > Project,把Gradle JDK改成对应的版本就行,直接选Android Studio自带的Embedded JDK就好,不用自己额外下载安装。
按这几步改完,再重新跑flutter build apk --release,应该就能顺利打包了!
内容来源于stack exchange
相关产品推荐
相关产品推荐

