ubuntu20编译android o jack server问题记录

本文记录了一次解决Jack服务器启动失败的过程,通过调整内存分配参数最终成功启动,并解决了后续的通信错误。

报错如下:

FAILED: setup-jack-server 
/bin/bash -c "(prebuilts/sdk/tools/jack-admin install-server prebuilts/sdk/tools/jack-launcher.jar prebuilts/sdk/tools/jack-server-4.11.ALPHA.jar  2>&1 || (exit 0) ) 
&& (JACK_SERVER_VM_ARGUMENTS=\"-Dfile.encoding=UTF-8 -XX:+TieredCompilation\" prebuilts/sdk/tools/jack-admin start-server 2>&1 || exit 0 ) 
&& (prebuilts/sdk/tools/jack-admin update server prebuilts/sdk/tools/jack-server-4.11.ALPHA.jar 4.11.ALPHA 2>&1 || exit 0 )
&& (prebuilts/sdk/tools/jack-admin update jack prebuilts/sdk/tools/jacks/jack-4.32.CANDIDATE.jar 4.32.CANDIDATE || exit 47 )"
Jack server already installed in "/home/sda/myuser/.jack-server"
Launching Jack server java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=/tmp -Dfile.encoding=UTF-8 -XX:+TieredCompilation 
-cp /home/sda/myuser/.jack-server/launcher.jar com.android.jack.launcher.ServerLauncher
Jack server failed to (re)start, try 'jack-diagnose' or see Jack server log
No Jack server running. Try 'jack-admin start-server'
No Jack server running. Try 'jack-admin start-server'
ninja: build stopped: subcommand failed.
18:37:48 ninja failed with: exit status 1

然后网上各种搜:

1.换端口,错误还在

2.重装jack server

cd prebuilts/sdk/tools

./jack-admin uninstall-server

./jack-admin install-server  jack-launcher.jar jack-server-4.11.ALPHA.jar

装完之后

./jack-admin start-server

然后

./jack-admin server-stat

提示

Getting statistic from background server
No Jack server running. Try 'jack-admin start-server'

表明还是不行

3.根据提示在jack-admin中标记log

CURL_CODE=$?
    if [ $CURL_CODE -eq 7 ] || [ $CURL_CODE -eq 35 ] || [ $CURL_CODE -eq 58 ] || [ $CURL_CODE -eq 60 ] || [ $CURL_CODE -eq 77 ]; then
      if [ $(date +%s) -ge $DATE_TIMEOUT ]; then
        echo "Jack server failed to (re)start, try 'jack-diagnose' or see Jack server log" >&2
        abort
      else
        sleep 1
      fi
    else
      # A connection was opened, no need to know if it went well
      DONE=0;
    fi

表明还一直在等jack server,没有起起来

怀疑是curl的问题,运行./jack-admin dump-report

Creating report...
Dumping Jack server stacks...
Getting current user id...
Listing Jack server process...
Listing process using Jack server service port 8072...
Listing process using Jack server admin port 8073...
Collecting Jack client configuration...
Listing Jack server installation dir...
Collecting curl version...
Collecting curl connection info...
Collecting Jack server stats...
Collecting base64 info...
Zipping Jack server installation dir except keys and certificates...
Jack server report saved in 'jack-report.3759.zip'. Consider reviewing content before publishing.

看起来curl没有问题

4.修改jack-admin

JACK_SERVER_COMMAND="java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=$TMPDIR $JACK_SERVER_VM_ARGUMENTS -cp $LAUNCHER_JAR $LAUNCHER_NAME"

将上述语句修改为:

JACK_SERVER_COMMAND="java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=$TMPDIR $JACK_SERVER_VM_ARGUMENTS -Xmx4096m -cp $LAUNCHER_JAR $LAUNCHER_NAME"

然后再./jack-admin start-server

成功

检查

./jack-admin server-stat输出如下:

date: 1626536675655 [Sat Jul 17 23:44:35 CST 2021]
server.compilation: 0
server.compilation.max: 0
server.compilation.current: 0
server.forward: 0
server.forward.max: 0
server.forward.current: 0
os.arch: amd64
os.proc.nb: 16
os.name: Linux
os.version: 5.8.0-59-generic
vm.name: OpenJDK 64-Bit Server VM
vm.vendor: AdoptOpenJDK
vm.version: 25.232-b09
vm_options: -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=/tmp -Dfile.encoding=UTF-8 -Xmx4096m
vm.memory.max: 3817865216 [3.5557 GiB]
vm.memory.free: 909028544 [866.9172 MiB]
vm.memory.total: 1009254400 [962.5000 MiB]
vm.jit.time: 393 [393.0000 ms]
vm.collector.ps-scavenge.time: 0 [0]
vm.collector.ps-scavenge.count: 0
vm.collector.ps-marksweep.time: 0 [0]
vm.collector.ps-marksweep.count: 0
vm.pool.code-cache.type: NON_HEAP
vm.pool.code-cache.peak.commited: 5570560 [5.3125 MiB]
vm.pool.code-cache.peak.init: 2555904 [2.4375 MiB]
vm.pool.code-cache.peak.max: 251658240 [240.0000 MiB]
vm.pool.code-cache.peak.used: 5497920 [5.2432 MiB]
vm.pool.code-cache.usage.commited: 5570560 [5.3125 MiB]
vm.pool.code-cache.usage.init: 2555904 [2.4375 MiB]
vm.pool.code-cache.usage.max: 251658240 [240.0000 MiB]
vm.pool.code-cache.usage.used: 5504384 [5.2494 MiB]
vm.pool.code-cache.usage.threshold: 0 [0 B]
vm.pool.code-cache.usage.threshold.count: 0
vm.pool.metaspace.type: NON_HEAP
vm.pool.metaspace.peak.commited: 12582912 [12.0000 MiB]
vm.pool.metaspace.peak.init: 0 [0 B]
vm.pool.metaspace.peak.max: -1 [-1 B]
vm.pool.metaspace.peak.used: 12037176 [11.4795 MiB]
vm.pool.metaspace.usage.commited: 12582912 [12.0000 MiB]
vm.pool.metaspace.usage.init: 0 [0 B]
vm.pool.metaspace.usage.max: -1 [-1 B]
vm.pool.metaspace.usage.used: 12040496 [11.4827 MiB]
vm.pool.metaspace.usage.threshold: 0 [0 B]
vm.pool.metaspace.usage.threshold.count: 0
vm.pool.compressed-class-space.type: NON_HEAP
vm.pool.compressed-class-space.peak.commited: 1572864 [1.5000 MiB]
vm.pool.compressed-class-space.peak.init: 0 [0 B]
vm.pool.compressed-class-space.peak.max: 1073741824 [1.0000 GiB]
vm.pool.compressed-class-space.peak.used: 1412864 [1.3474 MiB]
vm.pool.compressed-class-space.usage.commited: 1572864 [1.5000 MiB]
vm.pool.compressed-class-space.usage.init: 0 [0 B]
vm.pool.compressed-class-space.usage.max: 1073741824 [1.0000 GiB]
vm.pool.compressed-class-space.usage.used: 1412864 [1.3474 MiB]
vm.pool.compressed-class-space.usage.threshold: 0 [0 B]
vm.pool.compressed-class-space.usage.threshold.count: 0
vm.pool.ps-eden-space.type: HEAP
vm.pool.ps-eden-space.collection.commited: 0 [0 B]
vm.pool.ps-eden-space.collection.init: 263716864 [251.5000 MiB]
vm.pool.ps-eden-space.collection.max: 1344274432 [1.2520 GiB]
vm.pool.ps-eden-space.collection.used: 0 [0 B]
vm.pool.ps-eden-space.collection.threshold: 0 [0 B]
vm.pool.ps-eden-space.collection.threshold.count: 0
vm.pool.ps-eden-space.peak.commited: 263716864 [251.5000 MiB]
vm.pool.ps-eden-space.peak.init: 263716864 [251.5000 MiB]
vm.pool.ps-eden-space.peak.max: 1344274432 [1.2520 GiB]
vm.pool.ps-eden-space.peak.used: 100225856 [95.5828 MiB]
vm.pool.ps-eden-space.usage.commited: 263716864 [251.5000 MiB]
vm.pool.ps-eden-space.usage.init: 263716864 [251.5000 MiB]
vm.pool.ps-eden-space.usage.max: 1344274432 [1.2520 GiB]
vm.pool.ps-eden-space.usage.used: 100225856 [95.5828 MiB]
vm.pool.ps-survivor-space.type: HEAP
vm.pool.ps-survivor-space.collection.commited: 0 [0 B]
vm.pool.ps-survivor-space.collection.init: 43515904 [41.5000 MiB]
vm.pool.ps-survivor-space.collection.max: 43515904 [41.5000 MiB]
vm.pool.ps-survivor-space.collection.used: 0 [0 B]
vm.pool.ps-survivor-space.collection.threshold: 0 [0 B]
vm.pool.ps-survivor-space.collection.threshold.count: 0
vm.pool.ps-survivor-space.peak.commited: 43515904 [41.5000 MiB]
vm.pool.ps-survivor-space.peak.init: 43515904 [41.5000 MiB]
vm.pool.ps-survivor-space.peak.max: 43515904 [41.5000 MiB]
vm.pool.ps-survivor-space.peak.used: 0 [0 B]
vm.pool.ps-survivor-space.usage.commited: 43515904 [41.5000 MiB]
vm.pool.ps-survivor-space.usage.init: 43515904 [41.5000 MiB]
vm.pool.ps-survivor-space.usage.max: 43515904 [41.5000 MiB]
vm.pool.ps-survivor-space.usage.used: 0 [0 B]
vm.pool.ps-old-gen.type: HEAP
vm.pool.ps-old-gen.collection.commited: 0 [0 B]
vm.pool.ps-old-gen.collection.init: 702021632 [669.5000 MiB]
vm.pool.ps-old-gen.collection.max: 2863661056 [2.6670 GiB]
vm.pool.ps-old-gen.collection.used: 0 [0 B]
vm.pool.ps-old-gen.collection.threshold: 0 [0 B]
vm.pool.ps-old-gen.collection.threshold.count: 0
vm.pool.ps-old-gen.peak.commited: 702021632 [669.5000 MiB]
vm.pool.ps-old-gen.peak.init: 702021632 [669.5000 MiB]
vm.pool.ps-old-gen.peak.max: 2863661056 [2.6670 GiB]
vm.pool.ps-old-gen.peak.used: 0 [0 B]
vm.pool.ps-old-gen.usage.commited: 702021632 [669.5000 MiB]
vm.pool.ps-old-gen.usage.init: 702021632 [669.5000 MiB]
vm.pool.ps-old-gen.usage.max: 2863661056 [2.6670 GiB]
vm.pool.ps-old-gen.usage.used: 0 [0 B]
vm.pool.ps-old-gen.usage.threshold: 0 [0 B]
vm.pool.ps-old-gen.usage.threshold.count: 0
os.memory.virtual.committed: 8946266112 [8.3319 GiB]
os.memory.physical.total: 67289731072 [62.6684 GiB]
os.memory.physical.free: 63907663872 [59.5187 GiB]
os.memory.swap.total: 2147479552 [2.0000 GiB]
os.memory.swap.free: 2147479552 [2.0000 GiB]
os.fd.open: 44
os.process.cpu.load: 2.6881226937874206E-5
os.process.cpu.time: 820000000 [820.0000 ms]
os.system.cpu.load: 0.0024511081454352576

重新编译,不会再报原先的错误了,但是报如下错误:

Communication error with Jack server (35), try 'jack-diagnose' or see Jack server log

此时需要

 ./jack-admin stop-server

 ./jack-admin start-server

重新编译,OK!!!!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chatget

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值