升级Android Studio 3.0.1至3.1后运行项目失败:指定目录不存在
先明确你遇到的核心问题:
升级Android Studio 3.0.1到3.1版本后,执行
assemble任务时直接失败,抛出异常提示:指定的项目目录''不存在。 构建在0秒内失败,指定的项目目录''不存在。
这种情况大多是升级过程中IDE缓存错乱,或者项目配置文件里的路径引用出现了空值/错误,下面是几个逐步排查的解决方法:
1. 清理IDE缓存并重启
这是解决升级后大部分奇怪问题的首选方案:
- 点击Android Studio顶部菜单栏的
File→Invalidate Caches... - 在弹出的窗口中勾选
Invalidate and Restart,等待IDE完全重启后再尝试构建项目
2. 检查项目核心配置文件
(1)查看settings.gradle
打开项目根目录下的settings.gradle文件,确认里面的include语句没有空的模块引用——比如不要出现include ''这种错误格式,正常应该是类似include ':app'、include ':library-module'的写法。如果有空引用,直接删掉即可。
(2)检查local.properties
这个文件保存了SDK、NDK的路径配置,打开后确认sdk.dir(以及ndk.dir如果有的话)的路径是正确的,没有空值或者错误的路径。比如正确的写法是:
sdk.dir=/Users/xxx/Library/Android/sdk
3. 重新同步Gradle项目
点击IDE右上角的「Sync Project with Gradle Files」按钮(就是那个大象图标),等待Gradle同步完成后,再尝试执行assemble任务。同步过程会重新加载所有项目配置,很多路径引用问题会在这里被自动修正。
4. 用命令行构建获取详细日志
如果上面的步骤都没解决问题,你可以在项目根目录打开终端,执行以下命令:
- Mac/Linux:
./gradlew assemble --stacktrace - Windows:
gradlew.bat assemble --stacktrace
通过--stacktrace参数可以获取完整的异常堆栈信息,能帮你精准定位到底是哪个配置或者模块导致的目录空引用问题,方便针对性修复。
如果以上方法都无效,还可以尝试备份项目后,重新从版本控制系统拉取代码,或者创建一个新的Android项目,把现有代码和资源逐步迁移过去,排查是否是项目结构本身的损坏问题。
内容的提问来源于stack exchange,提问作者keser

