5

我正在 Mac (macOS Sierra 10.12.6) 中构建 AOSP 8,而 Jack 因未知内部错误而失败

Internal unknown error (415), try 'jack-diagnose' or see Jack server log

jack-diagnose 显示:

ps: illegal argument: -o
usage: ps [-AaCcEefhjlMmrSTvwXx] [-O fmt | -o fmt] [-G gid[,gid...]]
          [-g grp[,grp...]] [-u [uid,uid...]]
          [-p pid[,pid...]] [-t tty[,tty...]] [-U user[,user...]]
       ps [-L]
Port 8073 is used by another process (pid=), please ensure to free the port or change port configuration in '/Users/user/.jack-settings' and '/Users/user/.jack-server/config.properties'
ps: illegal argument: -o
usage: ps [-AaCcEefhjlMmrSTvwXx] [-O fmt | -o fmt] [-G gid[,gid...]]
          [-g grp[,grp...]] [-u [uid,uid...]]
          [-p pid[,pid...]] [-t tty[,tty...]] [-U user[,user...]]
       ps [-L]
Port 8072 is used by another process (pid=), please ensure to free the port or change port configuration in '/Users/user/.jack-settings' and '/Users/user/.jack-server/config.properties'

我看了看端口,似乎没有什么不寻常的

$ lsof -n -i:8073 | grep LISTEN
java    70963 user   13u  IPv6 0xd32bb4a6a5b6116b      0t0  TCP 127.0.0.1:8073 (LISTEN)

$ lsof -n -i:8072 | grep LISTEN
java    70963 user   11u  IPv6 0xd32bb4a6a5b616ab      0t0  TCP 127.0.0.1:8072 (LISTEN)

杰克日志显示了这一点:

16:14:44.181: WARNING: com.android.jack.server.router.ErrorContainer: Unknown request: 'POST /jack HTTP/1.1
Host: localhost:8072
User-Agent: curl/7.56.0
Accept: application/vnd.jack.command-out;version=1;charset=UTF-8
Content-Length: 800
Content-Type: multipart/form-data; boundary=------------------------9507228002c18ced

'

我尝试手动停止和启动千斤顶服务器,甚至更改端口,但似乎没有解决问题。我虽然这可能与我的 CURL 版本有关,但我相信我使用的是正确的

curl 7.56.0 (x86_64-apple-darwin16.7.0) libcurl/7.56.0 OpenSSL/1.0.2l zlib/1.2.11
Release-Date: 2017-10-04
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP UnixSockets HTTPS-proxy 

我的想法用完了,我真的不知道是谁导致了这个问题。我相信谷歌正在弃用 Jack(https://android-developers.googleblog.com/2017/03/future-of-java-8-language-feature.html),但我想知道为什么 Jack 在默认情况下仍然在 AOSP 中启用。将 ANDROID_COMPILE_WITH_JACK 设置为 false 允许我继续构建,但这只是通过不使用 Jack 来隐藏问题。有谁知道出了什么问题?这看起来像是设置问题,还是实际上与 Jack 有问题?我在 android-build 邮件列表中发布了这个问题,但没有听到任何消息,所以我希望 SO 社区中的某个人可能会有答案。

4

2 回答 2

5

Arch Linux 中的同样问题。通过将 curl 从 7.56 降级到 7.55.1 完成构建。

于 2017-10-10T03:33:23.630 回答
1

我也在 Arch Linux 上,问题肯定是 Curl 升级到 7.56 后,jack 日志中的错误是 .android.jack.server.router.ErrorContainer: Unknown request: 'POST /jack HTTP/1.1 and提到Curl 7.56,降级包后没有错误并且构建成功编译。不确定 Curl 发生了什么变化以产生此错误。可能会在 Curl 的 Github 上打开一个问题或通过电子邮件发送他们的邮件列表以查看实际问题是什么。

于 2017-10-10T23:26:44.480 回答