You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter WooCommerce应用构建失败:permission_handler_android异常

解决permission_handler_android:extractDebugAnnotations构建异常问题

问题描述

基于Envato Market购买的预制Flutter WooCommerce消费者应用,运行源码时触发Android构建异常,核心错误信息:

Execution failed: permission_handler_android:extractDebugAnnotations

当前开发环境

  • Flutter SDK 3.16.0
  • Dart SDK 3.2.1
  • Android SDK API 34(扩展级别7)
  • Kotlin 1.8.0
  • JDK 17
  • compileSdkVersion 34
  • targetSdkVersion 33
  • permission_handler 10.4.3

已尝试无效操作

  • 执行flutter clean和flutter pub get清理缓存并拉取依赖
  • 更新pubspec.yaml中所有依赖
  • 检查应用与当前Flutter SDK的兼容性
  • 将compileSdkVersion和targetSdkVersion设为相同版本(34或33),问题仍存在

可行解决方案

1. 锁定permission_handler_android兼容版本

在pubspec.yaml中明确指定适配当前环境的子依赖版本,避免自动拉取不兼容的更新:

dependencies:
  flutter:
    sdk: flutter
  permission_handler: 10.4.3
  permission_handler_android: 10.3.6 # 与permission_handler 10.4.3匹配的稳定版本

添加后执行flutter pub get重新拉取依赖。

2. 调整Android Gradle插件版本

打开项目根目录下的android/build.gradle文件,修改gradle插件版本以适配compileSdkVersion 34:

buildscript {
    ext.kotlin_version = '1.8.0'
    repositories {
        google()
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:7.4.2' // 适配API 34的gradle版本
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

3. 深度清理Android构建缓存

除了flutter clean,执行Android端的缓存清理:

  • 进入项目的android文件夹,执行命令:./gradlew clean
  • 删除android目录下的.gradle文件夹,重新运行构建命令

4. 验证JDK版本配置

确保终端和Android Studio使用的是JDK 17:

  • 终端执行java -version查看当前JDK版本
  • 若版本不符,在Android Studio中通过File > Project Structure > SDK Location设置JDK路径为JDK 17的安装目录

内容的提问来源于stack exchange,提问作者ashwath

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 03:42:46