Flutter构建报错:share_plus:compileReleaseKotlin执行失败如何解决
核心报错信息
- 构建触发失败,异常抛出节点为任务
:share_plus:compileReleaseKotlin执行阶段
编译错误,默认日志未输出具体根因,提示可通过--stacktrace、--info、--debug、--scan参数获取更详细诊断信息
常见根因
- Kotlin版本不兼容:项目全局配置的Kotlin编译版本与share_plus插件要求的Kotlin版本区间不匹配,是该类问题最高发诱因
- 构建工具链冲突:项目使用的Gradle版本、Android Gradle Plugin(AGP)版本与share_plus适配版本不重合,导致编译链路异常
- 插件与Flutter SDK版本错配:当前pub依赖的share_plus版本过旧或过新,和本地Flutter SDK存在API不兼容的破坏性变更
- 构建缓存损坏:Gradle全局缓存、Flutter pub缓存、项目构建缓存存在残缺文件,导致插件编译时拉取到不完整的代码或依赖
- Release混淆规则缺失:Release构建默认开启R8代码压缩混淆,share_plus相关类被误混淆触发编译校验失败
排查步骤
- 先输出完整错误堆栈,不要基于表层报错盲目修改。在项目根目录执行带堆栈参数的构建命令,定位具体编译错误点:
flutter build apk --release --stacktrace
根据堆栈输出的具体信息判断是版本不兼容、类找不到、依赖冲突还是语法错误 - 核对版本匹配关系:分别打开项目级
android/build.gradle文件,确认当前配置的Kotlin版本、AGP版本,对照share_plus插件的版本适配说明确认是否在兼容区间内 - 排除缓存干扰:先执行全链路缓存清理后重新构建,验证是否为缓存损坏导致的偶发问题
修复方案
- 版本对齐修复
- 调整
android/build.gradle中的Kotlin版本、AGP版本到兼容区间,目前Flutter稳定生态普遍适配的Kotlin版本范围为1.7.101.9.0,对应AGP版本范围为7.3.08.1.2 - 打开
pubspec.yaml文件,将share_plus调整为适配当前Flutter版本的稳定版,修改后执行flutter pub get同步依赖
- 调整
- 全链路缓存清理
依次在终端执行以下命令清理所有层级缓存后重新构建:flutter clean cd android && ./gradlew clean cd .. && rm -rf ~/.gradle/caches flutter pub get - 补全混淆规则
如果项目Release构建开启了R8混淆,打开android/app/proguard-rules.pro文件,添加如下规则避免share_plus相关类被误混淆:-keep class dev.fluttercommunity.plus.share.** { *; } - 兜底版本强制统一
如果项目存在多个插件依赖不同Kotlin版本的传递依赖冲突,可在android/build.gradle中配置版本强制策略,让所有模块使用统一Kotlin版本编译,解决版本传递冲突问题
内容的提问来源于stack exchange,提问作者Abhinav
相关产品推荐
相关产品推荐

