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

VS Code中Flutter打包APK报错求助:Android资源链接失败

解决Flutter打包APK时:speech_recognition:verifyReleaseResources资源链接错误

我之前打包Flutter APK时也碰到过完全一样的问题——用flutter build apk --split-per-abi命令打包,结果卡在了Gradle的assembleRelease任务,具体是:speech_recognition:verifyReleaseResources任务报错,说找不到android:attr/fontStyle、android:attr/font这类资源,而且Flutter自动生成android/settings_aar.gradle文件还失败了。试过AndroidX兼容性检查、flutter clean、pub get/pub update都没用,最后手动修改settings.gradle才搞定,具体步骤如下:

问题根源

这个问题本质是speech_recognition插件的编译配置和你的项目Android Gradle环境不匹配,插件依赖的旧版Android资源属性和当前项目的compileSdk/AndroidX版本冲突,而且自动配置文件生成失败,必须手动调整插件的引入方式。

解决步骤

  • 先关闭所有相关IDE
    把VS Code和Android Studio都关掉,避免文件被进程占用导致修改无效。

  • 手动修改android/settings.gradle
    打开项目的android/settings.gradle文件,做以下调整:

    • 如果文件里有引用settings_aar.gradle的代码,先删掉这部分;
    • 替换成以下配置,确保插件能正确使用项目的Gradle配置:
      include ':app'
      
      def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
      
      def plugins = new Properties()
      def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
      if (pluginsFile.exists()) {
          pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
      }
      
      plugins.each { name, path ->
          def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
          include ":$name"
          project(":$name").projectDir = pluginDirectory
      }
      
  • 统一子项目的编译配置
    打开android/build.gradle,在allprojects块后面添加subprojects配置,强制所有插件使用项目的compileSdk和AndroidX版本:

    subprojects {
        afterEvaluate { project ->
            if (project.hasProperty("android")) {
                android {
                    compileSdkVersion rootProject.ext.compileSdkVersion
                    buildToolsVersion rootProject.ext.buildToolsVersion
                }
            }
        }
    }
    

    注意要确保你的android/build.gradle里已经定义了ext属性,比如:

    ext {
        compileSdkVersion = 33
        buildToolsVersion = "33.0.2"
        minSdkVersion = 21
        targetSdkVersion = 33
    }
    
  • 重新执行打包命令
    回到项目根目录,依次执行:

    • flutter clean
    • flutter pub get
    • 最后执行flutter build apk --split-per-abi

如果还是不行,可以试试把speech_recognition插件更新到最新版本,或者考虑替换成维护更活跃的语音识别插件(比如功能类似的同类型插件)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 11:52:53