Android插孔内部未知错误415

时间:2017-10-09 22:23:01

标签: android android-source android-build android-jack-and-jill

我在Mac上构建AOSP 8(macOS Sierra 10.12.6),杰克因内部错误未知而失败

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)

Jack日志显示:

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 

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

2 个答案:

答案 0 :(得分:5)

Arch Linux中的相同问题。 通过将卷曲从7.56降级到7.55.1来完成构建。

答案 1 :(得分:1)

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