如何阻止Flutter/Android Studio运行项目时自动下载NDK
如何阻止Flutter/Android Studio运行项目时自动下载NDK
我完全懂你的烦恼——明明是纯Dart写的Flutter项目,半点儿原生C/C++代码都没有,结果跑项目的时候Android Studio硬要自动下载NDK,占了本来就紧张的存储空间,删了ndkVersion = flutter.ndkVersion还没用?别慌,我给你几个亲测有效的解决办法:
方法一:给Gradle加个“禁止自动下载NDK”的强制配置
这是最简单直接的办法,不需要改太多文件:
- 打开项目根目录下的
gradle.properties文件,在最后添加一行:
这个配置是Gradle 8+支持的,刚好你用的是Gradle 8.12,完美适配,它会强制Gradle跳过NDK的自动下载流程。org.gradle.android.ndk.autoDownload=false
方法二:彻底清理项目里的NDK相关配置
如果你删了ndkVersion那行还不行,大概率是项目里还有隐式的NDK依赖配置,跟着我一步步来:
- 打开
android/app/build.gradle,找到android代码块,确保:- 没有
ndkVersion相关的任何配置(不管是引用flutter.ndkVersion还是硬编码版本号) - 没有
externalNativeBuild这个节点(这是原生代码构建用的,纯Dart项目完全不需要,有就删掉)
- 没有
- 再打开
android/build.gradle,检查buildscript下的dependencies里的Flutter插件引用,确保没有额外指定NDK相关的参数。
方法三:修改Flutter全局gradle模板(一劳永逸)
如果以后你新建Flutter项目也不想再遇到这个问题,可以修改Flutter的全局配置文件:
- 找到你Flutter安装目录,进入
packages/flutter_tools/gradle文件夹,打开flutter.gradle文件 - 搜索
ext.ndkVersion,找到类似ext.ndkVersion = "27.0.12077973"的行,把它改成ext.ndkVersion = ""或者直接注释掉 - 注意:以后升级Flutter的时候这个文件会被覆盖,记得升级后重新改一次就行
方法四:在Android Studio里手动关闭NDK自动下载
最后,我们从IDE层面把触发开关关掉:
- 打开Android Studio,点击顶部菜单
File -> Settings(Windows/Linux)或者Android Studio -> Settings(Mac) - 依次进入
Appearance & Behavior -> System Settings -> Android SDK,切换到SDK Tools标签页 - 取消勾选
NDK (Side by side),然后点击Apply,IDE会自动移除相关的自动下载触发规则
做完以上任意一种方法后,记得点击Android Studio顶部的File -> Invalidate Caches...,选择Invalidate and Restart清理缓存,避免旧配置残留导致问题。
内容来源于stack exchange
相关产品推荐
相关产品推荐

