macOS Sierra系统Gradle构建速度异常慢的解决方案

上周刚刚升级了macOS Sierra系统,升级后在使用gradle构建项目时发现在Resolving dependencies这一步变得奇慢无比,本来3分钟能够构建完成的项目用了30多分钟才构建完,这给我带来的不小的困扰。在Google了很多资料后,终于解决了这个问题。

解决方案

首先打开host文件

sudo vim /etc/hosts

把host文件中有localhost的行后面加上yourmacname.local即可。

127.0.0.1   localhost yourmacname.local
::1         localhost yourmacname.local

yourmacname是你计算机的名字,在System Preferences - Sharing中能够找到

根本原因

出现问题的根本原因在于java.net.InetAddress.getLocalHost()这个函数耗时严重,在新版macOS上会耗时5000ms左右,而在其它机器上耗时仅为8ms。因此,gradle在构建时大量调用这个方法就会导致构建异常缓慢。根据这个实验我们知道了解决这个问题的办法就是在localhost后面加上yourmacname.local,这是更新到macOS Sierra的一个坑。

最后,总结一下最近更新macOS Sierra遇到的其它坑,希望以后找到解决方案。

  1. Mou失效了
  2. QQ截图不能直接使用
  3. 使用预览看PDF的时候三指取词功能失效