Gradle 在 m1 mac 构建 android 应用程序时卡住

Gradle on m1 mac stuck when building android app

我有一个 m1 macbook air,当我尝试为 android 编译应用程序时,一个 Gradle 守护进程试图启动,但有时(非常经常)它会挂起:

如果我退出进程(通过 Cmd + C)并尝试再次构建应用程序,然后我收到一条消息,一个 gradle 守护程序无法重新使用,因为它很忙,另一个试图启动,也挂起...

这太烦人了,还有其他人遇到这个问题吗?我正在使用 azul JDK(因为它 运行 是 arm 上的本机),但我认为这不是 java

的问题

当我 运行 ./gradlew --status 也挂了,唯一的解决办法似乎是重启我的机器很多次

事实证明问题出在 Raycast,我从脚本 运行 开始 vscode(以及 运行 来自集成 vscode 终端的构建命令),似乎 gradle 通过父进程通过管道传输守护进程的输出,并且 raycast 不能很好地与该模型一起播放。

有 2 个解决方法:

  • 不要从任何子进程调用 gradle/android 构建(在我的例子中是 raycast -> vscode),只需一个普通的终端就可以工作
  • 在运行执行构建命令
  • 之前终止父进程(在我的例子中也是raycast)