4

我建立AOSP 8在MAC(MacOS的塞拉利昂10.12.6)和杰克与未知的内部错误的Android插孔内部未知错误415

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

插孔诊断失败表明这一点:

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 

我跑出去的想法,我真的不知道谁什么导致了这个问题。我相信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社区中的某个人可能会有答案。

回答

4

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

+0

将此标记为正确答案,因为它指示卷曲版本的实际工作原理。这解决了我的问题 – YoMero

+1

顺便说一句,如果你使用的是macPorts(就像我自己),你可能需要遵循[这些](https://trac.macports.org/wiki/howto/InstallingOlderPort)指令来安装旧版本一个港口。 [这](https://github.com/macports/macports-ports/commit/29b6bfbc3be137223af6177a9efc6ca2d203ba20#diff-a4212cc1076e04f2728e4e87db652d0a)是我用来安装7.55.1的提交 – YoMero

1

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