1. 故障
Android Studio打开时报 Internal error。 java.util.concurrent.CompletionException: java.net.BindException: Address already in use 这样的错误,IDE打不开
2. 一般解决方案
很多人分析,需要在cmd上使用 netsh winsock reset 重置网络:
netsh winsock reset
重启电脑,然后再次打开Android Studio,开机马上打开,则可以打开成功,但是电脑重启后,过一段时间才打开Android Studio,依然可能报错,打不开。也有可能这次打开了,下次开机又打不开了。
所以此方案不行。
网络上,还有关闭防火墙的,还有安装目录下的 Android Studio\bin\idea.properties最后面加一行代码disable.android.first.run=true, 都不靠谱。
卸载Android Studio重装都不行。
3. 终极解决方案
Android Studio启动时会启动本地主机上的服务器以进行内部进程,并尝试在6942和6991之间的任何端口上进行绑定。而电脑Hyper-V会保留很多端口,一旦6942~6991的端口处于被保留状态,就会出现Android Studio无法打开的情况(报 java.util.concurrent.CompletionException: java.net.BindException: Address already in use 的错误)。
使用指令查看保留端口:
netsh int ipv4 show excludedportrange protocol=tcp
解决方法:排除我们需要的端口范围,不让Hyper-V保留
重启电脑,使用管理员权限打开cmd ,输入如下指令:
netsh int ip add excludedportrange protocol=tcp startport=6942 numberofports=50
就这么简单,解决问题,以后就不会出现Android Studio 打不开报错的问题了。
可能在使用以上指令时出现这样的错误: 这是因为,重启电脑后,指令输入的太慢了,还没来得及执行,就被Hyper-V占用了。记住要快。 或者,先去BIOS里面把Hyper-V关闭,然后启动电脑,慢慢输入以上指令,指令执行完了,去BIOS里面开启Hyper-V
|