Flutter引入permission_handler插件报compileDebugJavaWithJavac错误如何解决
permission_handler编译报错解决方案
1. 检查Android编译版本兼容性
- 确认项目
android/app/build.gradle中compileSdkVersion不低于33,permission_handler 10.0+版本要求最低编译SDK版本为33,低于该版本会触发Java编译失败。修改参考:android { compileSdkVersion 33 // 升级到33及以上即可 // 其余原有配置保持不变 }
2. 校验Gradle版本匹配关系
- 避免Gradle版本不兼容触发的编译错误,版本对应规则如下:
- 若
compileSdkVersion设置为33,android/build.gradle中Android Gradle插件版本建议不低于7.2.0:dependencies { classpath 'com.android.tools.build:gradle:7.2.0' // 其余原有依赖保持不变 } - 对应修改
android/gradle/wrapper/gradle-wrapper.properties中的Gradle版本:distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
- 若
3. 全链路清除缓存
- 除
flutter clean外,额外清除Android侧构建缓存:- 进入项目android目录,执行
./gradlew clean(Windows系统执行gradlew clean) - 回到项目根目录执行
flutter pub get,之后重新构建项目
- 进入项目android目录,执行
4. 排查权限配置冲突
- 检查
android/app/src/main/AndroidManifest.xml中是否存在重复声明的权限,或是和permission_handler插件冲突的自定义权限配置,删除重复/冲突项后重新编译。
5. 降级适配方案
- 若项目暂时无法升级compileSdkVersion,可将permission_handler版本降级到9.2.0,该版本支持最低compileSdkVersion为31。
内容的提问来源于stack exchange,提问作者Zilaid
相关产品推荐
相关产品推荐

