Flutter构建报错Execution failed for task ':app:stripDebugDebugSymbols'如何解决
解决方案
报错的核心原因是Flutter构建Android应用时默认查找SDK下的ndk-bundle目录下的NDK版本,而你单独安装的特定版本NDK存放在ndk/版本号命名的独立目录中,ndk-bundle目录为空或者不存在匹配的配置文件,可按以下方法依次尝试解决:
方案1:在项目配置中指定NDK版本
打开项目目录下的
android/app/build.gradle文件,在android配置块中添加你的NDK版本声明:android { ndkVersion "23.0.7421159rc5" // 其余原有配置保持不变 }保存后重新执行构建即可。
方案2:手动指定NDK安装路径
如果方案1不生效,打开项目
android目录下的local.properties文件,新增一行NDK路径配置,Windows系统注意路径的反斜杠需要转义:ndk.dir=C\:\\Users\\User\\AppData\\Local\\Android\\sdk\\ndk\\23.0.7421159rc5方案3:更换稳定版NDK
你当前安装的是23版本的RC预览版,低版本Flutter对预览版NDK的兼容性不佳,可打开Android Studio的SDK管理器,下载22.1.7171670等正式稳定版NDK,再按照方案1的配置指定对应稳定版本号即可。
方案4:临时跳过调试符号裁剪任务(仅应急使用)
若仅需本地快速调试不需要裁剪调试符号,可在
android/app/build.gradle的android配置块中添加如下配置,跳过报错的构建任务:tasks.whenTaskAdded { task -> if (task.name == 'stripDebugDebugSymbols') { task.enabled = false } }
注:flutter doctor中Android Studio 4.0的Java版本警告和本次构建失败无关,不影响正常构建。
内容的提问来源于stack exchange,提问作者Archit Dandavate
相关产品推荐
相关产品推荐

