Windows平台Android SDK Tools无法运行,寻求解决方案
解决Android SDK Tools的android.bat闪退问题(适配Unity开发)
我碰到好几个做Unity开发的朋友遇到过这个问题,核心原因大多是JDK版本不兼容或者没看到具体报错信息就盲目排查。下面给你一步步拆解解决方案:
第一步:先看清楚闪退的具体错误
双击android.bat闪退的最大问题是看不到错误日志,你得用命令行打开才能定位问题:
- 打开Windows命令提示符(CMD),用
cd命令导航到你的SDK Tools目录,比如:cd D:\AndroidSDK\tools - 直接输入
android.bat回车运行,这时候窗口不会闪退,你能看到具体的报错内容(比如JDK版本不支持、路径错误等)。
第二步:解决JDK版本不兼容问题
你装的是JDK 10,但旧版Android SDK Tools(尤其是26.x及更早的版本)完全不支持JDK 9及以上版本,这大概率是闪退的元凶。解决方法有两种:
- 临时应急方案:在刚才打开的CMD窗口里,先指定JDK 8的路径,再运行
android.bat:
把路径换成你自己安装的JDK 8的实际路径就行。set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_301 android.bat - 永久解决方案:安装JDK 8(Oracle或OpenJDK都可以),然后修改系统环境变量,把
JAVA_HOME指向JDK 8的路径。注意:如果平时还要用JDK 10,可以不用改系统变量,每次用SDK的时候临时指定就行。
第三步:改用更可靠的命令行工具(推荐)
其实Google早就弃用android.bat这个旧工具了,现在官方推荐用sdkmanager(在SDK的bin目录下),对于Unity开发来说,这个工具更高效,也不会有闪退问题:
- 打开CMD,导航到SDK的
bin目录:cd D:\AndroidSDK\bin - 直接安装Unity需要的组件,比如常用的Android 33版本相关工具:
你可以根据Unity项目的最低Android版本需求调整参数,比如换成sdkmanager "platform-tools" "platforms;android-33" "build-tools;33.0.2"android-31之类的。
第四步:配置Unity的外部工具
当你装好需要的SDK组件后,打开Unity,按以下步骤配置:
- 点击顶部菜单
Edit > Preferences > External Tools - 在Android选项里,指定Android SDK路径和JDK路径(这里一定要选JDK 8,很多Unity版本对高版本JDK支持不佳)
额外注意事项
- 确保你的SDK安装路径里没有空格或者中文,否则脚本很容易执行失败;
- 如果用
sdkmanager的时候提示权限问题,右键CMD选择“以管理员身份运行”再试。
内容的提问来源于stack exchange,提问作者user8870829




