本文的解决方法,基于Android O(8.0)。


问题
最近在编译安卓的时候,遇到Jack Server报错的问题:Failed to authenticate Jack server certificate. Try 'jack-diagnose'。

Jack server already installed in "/home/airenao/.jack-server"
Communication error with Jack server (60), try 'jack-diagnose' or see Jack server log
Failed to authenticate Jack server certificate. Try 'jack-diagnose'
Failed to authenticate Jack server certificate. Try 'jack-diagnose'
[  2% 40/1802] target Java: core-oj (out/target/common/obj/JAVA_LIBRARIES/core-oj_intermediates/classes)
ninja: build stopped: subcommand failed.
10:27:27 ninja failed with: exit status 1

什么是Jack Server

可以参考官方说明: https://source.android.com/setup/build/jack

Jack 是一种新型 Android 工具链,用于将 Java 源代码编译成 Android dex 字节码。 它取代了之前由 javac、ProGuard、jarjar 和 dx 等多种工具组成的 Android 工具链。Jack 工具链具有以下优势完全开放源代码 它是在 AOSP 中提供的;并且欢迎用户贡献资源。提高编译速度 Jack 提供以下具体支持来减少编译时间:dex 预处理、增量编译和 Jack 编译服务器。支持压缩、混淆、重新打包和多 dex 处理 不再需要使用单独的软件包(如 ProGuard)

解决方法

有2种解决办法,一种是编译的时候disable掉 jack server;还有一种就是 jack 在编译的时候,不是一个人在编译,导致是同一个 port,所以超时了,修改port即可。

1. Disable Server

这种简单粗暴,直接设置一个临时全局变量就可以了。

make *** ANDROID_FORCE_JACK_ENABLED=disabled -j32

2. 修改Port

先来看看Jack Server每个参数是什么意思。

SERVER=true 开启jack server.
SERVER_PORT_SERVICE=8072 设置TCP服务器端口号用来进行汇编编译
SERVER_PORT_ADMIN=8073 设置TCP服务器端口号用来管理员的编译管理
SERVER_COUNT=1 当前未使用,一般为默认
SERVER_NB_COMPILE=4 同时编译最大线程
SERVER_TIMEOUT=60 如果server没有在60s内没有反应,那么将会关掉此服务
SERVER_LOG=${SERVER_LOG:=$SERVER_DIR/jack-$SERVER_PORT_SERVICE.log} Log输出的位置
JACK_VM_COMMAND=${JACK_VM_COMMAND:=java} 启动JVM命令

把家目录下面的jack-setting文件和jack-server下config.properties文件里面的PORT修改为一致的即可。
下面是一个举例,修改较大的端口号,避免和其他的冲突。

#  这个文件是$HOME/.jack-settingsSERVER_PORT_SERVICE=28076
SERVER_PORT_ADMIN=28077# 这个文件是$HOME/.jack-server/config.propertiesjack.server.service.port=28076
jack.server.admin.port=28077

小结

错误信息就在log里面,多关注console log。

参考

  1. 编译Android时禁用Jack Server
  2. Android 7.0 jack 多用户编译的坑处理

android编译log中_安卓编译 Jack server 错误问题解决办法相关推荐

  1. 老是说我编译版本不够_编译etcd出现的cannot load bufio的错误解决办法

    编译etcd出现的cannot load bufio的错误解决办法 今天在安装编译etcd的时候,出现以下错误: go: finding github.com/golang/groupcache v0 ...

  2. KEIL-MDK编译错误问题解决办法

    KEIL-MDK编译错误问题解决办法 Error: L6218E: Undefined symbol NVIC_PriorityGroupConfig (referred from main.o). ...

  3. 微信小程序部分安卓机型无法保存图片的问题解决办法

    微信小程序部分安卓机型无法保存图片的问题解决办法 == 问题描述:项目中保存图片到本地相册的功能部分机型出现bug,测试发现问题在部分安卓机型上复现== 原因是:部分安卓手机调用 wx.downloa ...

  4. 关于STC8A8K64S4A12(STC15系列升级版)例程中程序出现 'xxx' undefined identifier的问题解决办法

    关于STC8A8K64S4A12(STC15系列升级版)例程中程序出现 'xxx' undefined identifier的问题解决办法 最近上网买了一款STC8A8K64S4A12最小系统版学习, ...

  5. JSP页面中使用JSTL标签出现无法解析问题解决办法

    JSP页面中使用JSTL标签出现无法解析问题解决办法 参考文章: (1)JSP页面中使用JSTL标签出现无法解析问题解决办法 (2)https://www.cnblogs.com/xdp-gacl/p ...

  6. Android使用Jack编译报错:communication error with Jack server (58) 解决方法

    Android7.0系统编译工具链使用了全新的Jack server来取代以往的编译器工具 Jack is a new Android toolchain that compiles Java sou ...

  7. apktoolkit apk反编译没有文件_重新编译mono——修改apk中Assembly-CSharp.dll并重新打包...

    环境: 操作系统:Mac OSX10.12.6 mono版本:unity2017.1.3p4 NDK版本:android-ndk-r10e 一.指导步骤: 1.通过apktool工具反编译apk 2. ...

  8. linux 保存编译log,(转)Linux下编译安装log4cxx

    一个项目的服务器端在Linux平台下,用到了开源日志库log4cxx,这个库是apache项目的一个子库.功能很不错.下面记录下它的编译和安装过程. 第一步安装apr-1.3.8,顺序不能错,它必须首 ...

  9. java 静态 编译_Java中的动态和静态编译实例详解

    Java中的动态和静态编译实例详解 首先,我们来说说动态和静态编译的问题. Q: java和javascript有什么区别? 总结了一下:有以下几点吧: 1.首先从运行环境来说java代码是在JVM上 ...

  10. android 获取monkey日志_安卓app测试之Monkey日志分析

    转:原文:https://blog.csdn.net/a136332462/article/details/76066909 一.一般测试结果分析-搜索关键字: 1.无响应问题可以在日志中搜索 &qu ...

最新文章

  1. [JAVAEE] 使用Postman测试接口
  2. 5年Python功力,总结了10个开发技巧
  3. Spring 执行 sql 脚本(文件)
  4. 数学之路(2)-数据分析-R基础(4)
  5. MySQL锁机制和PHP锁机制
  6. 【PAT - 甲级1045】Favorite Color Stripe(30分)(dp,LIS类问题)
  7. 下面的一堆文字为了说明一件事情---.NET程序,内存溢出,如何控制.
  8. 从零开始学TensorFlow 1
  9. Lesson 29 SVD decomposition
  10. ORG LegacyCell for Mac - MS-20/Polysix音频合成器
  11. 跟我一起数据挖掘(19)——什么是数据挖掘(2)
  12. csrss.exe病毒查杀
  13. 如何成为一名优秀的程序员
  14. Java中如何实现添加用户信息_如何通过Java客户端在Active Directory中创建新用户并将其添加到现有组...
  15. An internal error occurred during: Validating SYYH. Java heap space
  16. 二、解线性方程组的直接方法
  17. 北航计算机2018年保研推免经历
  18. VS Code配置matlab
  19. 已注销主体的公众号迁移办理流程及方法
  20. python打开摄像头_Python 调用摄像头

热门文章

  1. 优化无极限:从96秒到1.5秒
  2. 设置Kafka集群的方法
  3. 《黑客与画家》 读书笔记
  4. 万能的搜索--之DFS(二)
  5. [Cocos2dx] CCCamera照相机 详解
  6. CMake实践(2)
  7. Mysql源代码分析系列(1): 编译和调试--转载
  8. JVM监控及诊断工具GUI篇之Arthas(一):基础指令
  9. 数据结构之红黑树简介
  10. 【Java必备技能一】支付宝手机网站支付对接