Android7~8.1源码编译失败(Communication error with Jack server (35), try ‘jack-diagnose‘ or see Jack serve)

2023-05-16

目录

  • 1.背景
    • 1.1 报错信息
  • 2.原因
    • 2.1 分析
  • 3.解决方案
    • 3.1 杀掉服务
    • 3.2 修改JDK配置文件,移除可能导致端口占用的配置
    • 3.3 重启服务

1.背景

Android7.0~8.1编译过程中可能会出现异常报错,这里对其中一种情况做出分析和解决方案的展示。

1.1 报错信息

/data/androidSource/lowerVersion/android-7.1.2_r8$ java -version
openjdk version "1.8.0_362"
OpenJDK Runtime Environment (build 1.8.0_362-8u362-ga-0ubuntu1~18.04.1-b09)
OpenJDK 64-Bit Server VM (build 25.362-b09, mixed mode)
avl-ops@fix-patch:/data/androidSource/lowerVersion/android-7.1.2_r8$ make -j2
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=7.1.2
TARGET_PRODUCT=aosp_marlin
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm64
TARGET_ARCH_VARIANT=armv8-a
TARGET_CPU_VARIANT=generic
TARGET_2ND_ARCH=arm
TARGET_2ND_ARCH_VARIANT=armv7-a-neon
TARGET_2ND_CPU_VARIANT=krait
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-4.15.0-171-generic-x86_64-with-Ubuntu-18.04-bionic
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=N2G47O
OUT_DIR=out
============================================
Running kati to generate build-aosp_marlin.ninja...
No need to regenerate ninja file
Starting build with ninja
ninja: Entering directory `.'
[  0% 8/34359] Ensure Jack server is installed and started
FAILED: /bin/bash -c "(prebuilts/sdk/tools/jack-admin install-server prebuilts/sdk/tools/jack-launcher.jar prebuilts/sdk/tools/jack-server-4.8.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.8.ALPHA.jar 4.8.ALPHA 2>&1 || exit 0 ) && (prebuilts/sdk/tools/jack-admin update jack prebuilts/sdk/tools/jacks/jack-2.28.RELEASE.jar 2.28.RELEASE || exit 47; prebuilts/sdk/tools/jack-admin update jack prebuilts/sdk/tools/jacks/jack-3.36.CANDIDATE.jar 3.36.CANDIDATE || exit 47; prebuilts/sdk/tools/jack-admin update jack prebuilts/sdk/tools/jacks/jack-4.7.BETA.jar 4.7.BETA || exit 47 )"
Jack server already installed in "/home/avl-ops/.jack-server"
Communication error with Jack server (35), try 'jack-diagnose' or see Jack server log
SSL error when connecting to the Jack server. Try 'jack-diagnose'
SSL error when connecting to the Jack server. Try 'jack-diagnose'
[  0% 8/34359] target StaticExecutable: healthd (out/target/product/marlin/obj/EXECUTABLES/healthd_intermediates/LINKED/healthd)
ninja: build stopped: subcommand failed.
build/core/ninja.mk:148: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1

#### make failed to build some targets (33 seconds) ####

2.原因

该问题大部分原因都是端口占用导致。
多用户场景下的端口占用参考:https://www.cnblogs.com/blogs-of-lxl/p/11589521.html
单用户可以参考下面的处理方式

2.1 分析

根绝报错提示运行"jack-diagnose"
android-7.1.2_r8/prebuilts/sdk/tools$ jack-diagnose
error: process ID list syntax error
 
Usage:
 ps [options]
 
 Try 'ps --help <simple|list|output|threads|misc|all>'
  or 'ps --help <s|l|o|t|m|a>'
 for additional help text.
 
For more details see ps(1).
Port 8077 is used by another process (pid=), please ensure to free the port or change port configuration in '/home/weiqing/.jack-settings' and '/home/weiqing/.jack-server/config.properties'
error: process ID list syntax error
 
Usage:
 ps [options]
 
 Try 'ps --help <simple|list|output|threads|misc|all>'
  or 'ps --help <s|l|o|t|m|a>'
 for additional help text.
 
For more details see ps(1).
Port 8076 is used by another process (pid=), please ensure to free the port or change port configuration in '/home/weiqing/.jack-settings' and '/home/weiqing/.jack-server/config.properties'
Connection to 10.251.1.212 closed.

由提示"Port 8076 is used by another process (pid=),"可知端口被占用。

3.解决方案

3.1 杀掉服务

在android源码根目录中执行下面命令,先杀掉服务

 cd /prebuilts/sdk/tools/
 ./jack-admin kill-server

3.2 修改JDK配置文件,移除可能导致端口占用的配置

# 1
vim /etc/java-8-openjdk/security/java.security

# 2
Remove TLSv1, TLSv1.1 from jdk.tls.disabledAlgorithms

3.3 重启服务

 cd /prebuilts/sdk/tools/
 ./jack-admin kill-server
 ./jack-admin start-server 

参考:https://blog.csdn.net/m0_37910557/article/details/116701908?spm=1001.2014.3001.5502

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android7~8.1源码编译失败(Communication error with Jack server (35), try ‘jack-diagnose‘ or see Jack serve) 的相关文章

  • Multiple representations of the same entity are being merged解决方法

    最近在写网站过程中发现自己hibernate学的还不到家 好多错误 特地来记录一下这个错误 java lang IllegalStateException Multiple representations of the same entit
  • 即兴讲话的万能公式(赶过猪)

    即兴讲话就是在没有充分准备的情况下进行的讲话 很多人在即兴演讲的时候会心跳加速 语无伦次 大脑一片空白 甚至手脚发麻 有时候即使经过准备 演讲稿已经写好了 上台前也背诵过了 但是一到台上还是紧张的 稿子都忘记了 其实造成这种情况 很大部分的
  • arm启动redis报错

    报错如下 WARNING you have Transparent Huge Pages THP support enabled in your kernel This will create latency and memory usag
  • python3:Python 异常处理以及with 语句的使用

    try except else 语句 是处理异常公式 try 是有可能抛异常的代码块 except 抓取异常的类型 else 是指当没有抓到抛错 就运行这块代码 请看下下边的例子 try print 抓取的有可能的代码块 raise IOE
  • 项目启动卡在了Started Application in 10.266 seconds (JVM running for 13.033)

    好端端的项目启动后卡在这一行Started Application in 10 266 seconds JVM running for 13 033 日志中原本打印的执行的banner和程序都没有执行 访问那页面是404 很奇怪 因为啥东西
  • python中用pickle打开文件报错:EOFError: Ran out of input

    用pickle dump 保存文件之后如果不关闭文件就会出现此错误 f open test pkl wb pickle dump dict f f close 后面添加关闭就不会报错
  • pytorch----Target 2 is out of bounds

    问题 多分类网络加了两层全连接后最后输出1类 计算loss时报错Target N is out of bounds 其中的N是正在处理的数据输入的标签 即第几类 是一个 0 类数 1 的整数 最后输出1类与输入的target不符就会报错 解
  • error: “自定义函数XXX” must take exactly one argument

    主要问题在于 类里面的重载的二元运算符时 只需要一个参数 另一个参数由this指针传入 这里如果需要传入两个参数 需要放到类外定义 声明友元 访问私有数据和函数 如下 class myTask public myTask int a int
  • 串行数据的二进制通信协议解析器设计

    我正在重新审视字节流 串行数据 一次接收 1 个字节 的通信协议解析器设计 数据包结构 无法更改 为 Start Delimiter 1 byte Message ID 1 byte Length 1 byte Payload n byte
  • 在 .NET 中使用 USB 设备

    使用 Net C 如何使用 USB 设备 如何检测 USB 事件 连接 断开 以及如何与设备通信 读 写 是否有本地 Net 解决方案可以做到这一点 我尝试过使用 SharpUSBLib 但它搞砸了我的计算机 需要系统还原 同一项目的同事也
  • ACR122u直接通讯无反应

    我正在尝试通过发送直接命令来使用 java 访问我的 ACR122u 奇怪的是我没有得到任何响应 也没有错误 这是我的代码 final static int IOCTL SMARTCARD ACR122 ESCAPE COMMAND 0x0
  • Android 应用程序,与插入 USB 端口的设备通信

    我正在考虑一个 Android 应用程序 可能还有一个附带的物理设备 并且我正在尝试弄清楚这是否可行 1 假设我将 Android 设备连接到 PC 上 安装在PC上的应用程序是否可以与手机上运行的应用程序进行通信 我只需要一种非常简单的数
  • CoAP 观察者过多

    我想 观察 CoAP 服务器中的资源 但我注意到 在我注册观察服务器中的一些资源后 我尝试 观察 的其他资源会抛出一条消息 提示 观察者太多 我正在使用 Copper Firefox 连接到服务器 CoAP 服务器可以观察到的资源是否有限制
  • 如何在 WinRT 中检测拔出的耳机插孔?

    有没有办法在 WinRT 应用程序中拔出耳机插孔时收到通知 我希望能够在 MediaElement 播放发生时暂停它 以防止声音通过扬声器泄漏 请尝试以下操作 Windows Devices Enumeration DeviceInform
  • 从 Python 中使用“子进程”调用 Java 应用程序并读取 Java 应用程序输出

    读取从 Python 调用的 Java 应用程序的输出 即通过 System out println 的最好方法是什么 subprocess Popen java MyClass shell True 无需写入和读取文件 使用 Jython
  • 解释为什么“只需向数据库添加另一列”对于非程序员来说是一个坏主意[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我有销售人员和精算师试图向客户销售定制产品 这很好 但是 当收到复杂的变更请求并且我发回大量估算时 他们会感到困惑 他们常常会问我 你为什么不能
  • 计算 modbus RTU 3.5 字符时间

    我是 Modbus 新手 正在使用 Modbus RTU 开发应用程序 我想知道如何找出RTU消息帧分离时间 在Modbus RTU规范中 它提到了3 5个字符时间 但是没有更多关于如何决定这个间隔的数据 计算分离时间的步骤是什么 看看第1
  • 在java中为八通道声卡选择输出线

    编辑 我现在使用杰克 杰克音频连接套件 请参阅下面的答案 我的 Raspberry Pi 上有一个带有 8 个输出通道 四个立体声通道 的声卡 即 Octosound 卡 我想要做的是选择将声音路由到的通道之一 使用此代码我打印声卡的信息
  • 如何用UML表示通信协议?

    在我的 UML 模型中 我有一个系统及其相互通信的子组件 例如 我有一台计算机和一个遥控机器人 它们通过蓝牙进行通信 目前图中的流程类似于 计算机 触发 遥控车 的 setVelocity 函数 在这一点上 我想通过说以下的话来完善沟通 计
  • Tkinter:在主循环中调用事件

    如何调用 tkinterevent来自一个单独的对象 我正在寻找类似 wxWidgets 的东西wx CallAfter 例如 如果我创建一个对象 并将我的对象传递给它Tkroot 实例 然后尝试从我的对象调用该根窗口的方法 我的应用程序锁

随机推荐