Windows 10下如何配置Android Studio使用WSL(Bash)作为终端?
在Android Studio中配置WSL(Bash)作为终端并解决构建问题
我之前也碰到过一模一样的问题——不想用Windows的cmd.exe,换成WSL终端后看起来正常,但一构建项目就报错找不到不带.exe后缀的工具,下面给你一步步解决:
第一步:把WSL配置成Android Studio的默认终端
- 先确保你已经在Windows 10上安装了WSL发行版(比如Ubuntu、Debian),并且能正常打开WSL终端。
- 打开Android Studio,点击顶部菜单栏的
File->Settings(或者直接按Ctrl+Alt+S快捷键)。 - 在设置面板里,找到
Tools->Terminal选项。 - 在
Shell path输入框里,替换原来的cmd路径为wsl.exe(或者完整路径C:\Windows\System32\wsl.exe,更稳妥)。如果是旧版WSL,也可以用bash.exe,但更推荐用wsl.exe。 - 点击
Apply和OK,重启Android Studio的终端,现在就能用类Unix风格的Bash终端了。
第二步:解决构建时找不到工具的问题
你遇到的报错核心原因是:Windows版的Android SDK工具都带.exe后缀,但WSL环境下Gradle会默认寻找不带后缀的可执行文件(比如找aidl而不是aidl.exe)。这里有两个实用解决方案:
方案一:给SDK工具创建符号链接(推荐)
在WSL终端里,导航到你SDK的build-tools对应版本目录,比如:
cd /mnt/c/Users/你的用户名/AppData/Local/Android/Sdk/build-tools/27.0.3/
然后给每个需要的工具创建不带.exe的符号链接,比如:
ln -s aidl.exe aidl ln -s aapt.exe aapt ln -s zipalign.exe zipalign ln -s dx.exe dx
这样Gradle在WSL里找aidl时,就会通过符号链接指向实际的aidl.exe文件,完美解决找不到的问题。
方案二:修改Gradle配置指定带后缀的工具
如果不想创建符号链接,可以在模块级的build.gradle文件里添加配置,强制Gradle使用带.exe的工具。比如:
android { buildToolsVersion "27.0.3" // 其他现有配置... // 配置AIDL工具路径 tasks.withType(com.android.build.gradle.tasks.AidlCompile) { aidlExecutable = "${android.sdkDirectory}/build-tools/${android.buildToolsVersion}/aidl.exe" } // 如果还有其他工具报错,比如aapt,可以类似添加配置 tasks.withType(com.android.build.gradle.tasks.AaptCompile) { aaptExecutable = "${android.sdkDirectory}/build-tools/${android.buildToolsVersion}/aapt.exe" } }
不过这个方案需要针对每个报错的工具单独配置,相对麻烦一些,所以更推荐方案一。
额外注意事项
- 确保WSL里的路径映射正确:Windows的C盘在WSL里是
/mnt/c/,所以你的SDK路径要对应正确,别输错了。 - 如果后续更新了build-tools版本,记得给新版本的工具也创建对应的符号链接。
内容的提问来源于stack exchange,提问作者Jakub Gruber
相关产品推荐
相关产品推荐

