最近公司开发人员频繁jack的问题,我这边总结一下:


一、 第一种情况是服务器多人编译而产生的jack端口冲突的原因!报错提示如下:

No Jack server running. Try ‘jack-admin start-server’ 
No Jack server running. Try ‘jack-admin start-server

解决方法,首先第一步:

执行命令:cat ~/.jack-server/config.properties|grep -i port && cat ~/.jack|grep -i port|grep -v LOG &&cat ~/.jack-settings|grep -i port  检查你个人的端口是否一致!

以上保持server.port和port.admin是同一个端口!只有保持3个9033和9044,才能正常启动jack

如果不是怎么办呢?

第二步、执行以下的脚本 bash  -x jack.sh   (注意,此脚本必须放在要编译的工程根目录内,运行时间有一点长哈)

jack.sh内容如下:

#!/bin/bash
#cd root
p_service=12$(echo $RANDOM|cut -c  1-3)
p_admin=`echo $[p_service-1]`
pwd=${PWD}
#clean
rm -rf $HOME/.jack-server/config.properties
if [ -f $HOME/.jack ];thensed -i "s/SERVER_PORT_SERVICE=.*/SERVER_PORT_SERVICE=${p_service}/g"  $HOME/.jacksed -i "s/SERVER_PORT_ADMIN=.*/SERVER_PORT_ADMIN=${p_admin}/g"  $HOME/.jack
elsecontinue
fi
#
sed -i "s/SERVER_PORT_SERVICE=.*/SERVER_PORT_SERVICE=${p_service}/g"  $HOME/.jack-settings
sed -i "s/SERVER_PORT_ADMIN=.*/SERVER_PORT_ADMIN=${p_admin}/g"  $HOME/.jack-settingsif [ -f $pwd/prebuilts/sdk/tools/jack-admin ];then$pwd/prebuilts/sdk/tools/jack-admin kill-server$pwd/prebuilts/sdk/tools/jack-admin start-serversleep 5if [ -f $HOME/.jack-server/config.properties ];then$pwd/prebuilts/sdk/tools/jack-admin kill-serversed -i "s/jack.server.service.port.*/jack.server.service.port=$p_service/g"   $HOME/.jack-server/config.propertiessed -i "s/jack.server.admin.port.*/jack.server.admin.port=${p_admin}/g"  $HOME/.jack-server/config.propertiesecho "jack-server reset peer!!!"elseecho "创建不成功!"fi
elseecho "wrong path,please check!"
fi
exit

执行完了之后,再执行第一步,查看端口是不是一样的!

ps:复制脚本内容后,最好在vim里面设置一下格式, 命令 :set ff=unix


第二种情况是:你会发现端口是一样的,但是工程编译的时候,还是会报jack的问题,报错原因如下:

ERROR: Communication error with Jack server (52) make: *** [out/target/common/obj/JAVA_LIBRARIES/libutil_intermediates/classes.jack] Error

其实这种情况多半属于jack-admin缺少变量JACK_JAR而导致的。

解决方法:第一步: lsof  -i: 9033    (之前的端口),看是否仍然被占用。如果占用的话,通知管理员把这个端口进程杀掉。

第二步:

工程根目录内执行以下三句

export JACK_JAR=./out/host/linux-x86/framework/jack.jar

./out/host/linux-x86/bin/jack-admin stop-server

./out/host/linux-x86/bin/jack-admin start-server

然后再进行编译,就可以解决jack编译报错的问题了

第三步:记得在同一个窗口中,进行编译,原因是因为,第二步执行的语句是临时生成一个可以编译的环境,换到另外窗口的话,就生效了!


哈,希望能帮到大家!

转载于:https://www.cnblogs.com/to-be-rich/p/8316888.html

jack编译报错的问题相关推荐

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

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

  2. [Linux Audio Driver] 移植外部CODEC常见编译报错解决(持续更新)

    0. 背景 最近一直在调试codec芯片,好多代码FAE给的和平台不适配,比如结构体改了之类的,一些编译问题老是忘记,就想着顺手写下总结. 1. function definition is not ...

  3. go build 编译报错 missing go.sum entry for module providing package

    go build 编译报错 missing go.sum entry for module providing package 解决方法 // 移除未使用的依赖 go mod tidy 再次编译,就可 ...

  4. 编译报错field has incomplete type

    linux下编译C++代码报错,报错信息"field has incomplete type".这种问题一般都是在头文件对类或者结构体进行了前向声明,后面使用了该类定义了对象,导致 ...

  5. Eclipse中更改JDK版本,解决ant编译报错的问题

    要改一个JDK版本 主要是为了解决ant编译报错,JDK版本不一致的问题. 1. Windows--Preferences--Java--Compiler(配置的为1.8)--Installed JR ...

  6. idea java编译报错_intellij-idea,java_idea 编译报错,intellij-idea,java - phpStudy

    idea 编译报错 简单的 helloworld 竟然坑了我一天啦 /Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/bi ...

  7. 新的ipad,用xcode编译报错 dyld_shared_cache_extract_dylibs

    删掉  ~/Library/Developer/Xcode/iOS DeviceSupport/ 这个目录下的特定文件夹就行啦. 其实是因为  device is busy  生成文件夹过程中拔掉了设 ...

  8. cordova编译报错:Execution failed for task ':processDebugResources'

    cordova编译报错:Execution failed for task ':processDebugResources' 引发这个错误的最扩祸首就是一个中文命名的文件,不知道什么时候加入的,我写了 ...

  9. Android 编译报错:Could not get resource

    编译报错: Could not resolve all dependencies for configuration ':app:debugRuntimeClasspath'. Could not d ...

  10. AS升级3.1 编译报错:The SourceSet 'instrumentTest' is not recognized by the Android Gradle Plugin.

    AndroidStudio升级到3.1后编译报错:The SourceSet 'instrumentTest' is not recognized by the Android Gradle Plug ...

最新文章

  1. 网页打印问题,打印设置,打印预览,打印分页,纵打,横打及页面的边距
  2. 多工作线程获取工作队列简单实现
  3. 显式锁select for update 用法
  4. 爬虫抓取糯米网上所有商家数据
  5. 网络串流_串流NFL足球的最便宜方式(无需电缆)
  6. 江苏计算机一级怎么自学,江苏计算机一级自学教程推荐:计算机基础及MS Office应用上机指导(2018年版)...
  7. Flutter起步之安装
  8. python之类的封装、多态、继承
  9. csgo手机上看demo_仪表上的车速和手机导航不一样,哪个更准?碰到测速了该看哪个?...
  10. left join on、where后面的条件的区别
  11. android 重复申请权限,去除AndroidManifest.xml里重复申请的权限(uses-permission)
  12. 42Exchange 2010升级到Exchange 2013-证书申请配置
  13. Android AIDL Service 跨进程传递复杂数据
  14. 单节锂电池充电管理芯片,IC电路图
  15. WebRTC的NACK和RTX简述
  16. 编译原理 CS-143(更新至week4)
  17. 手机无线如何共享给台式计算机,台式电脑怎样共享网络给手机
  18. 【读书摘录】《沉默的大多数》(王小波)
  19. C# QRCode生成二维码,支持中文,有utf
  20. Centos Linux 可视化管理工具

热门文章

  1. SHELL脚本递归循环,文件名包含空格的处理办法
  2. 纽微特成立起因:申某账务有鬼,张某不干活怎么不说
  3. 工作完成了,切勿激动,一定要先求证
  4. Day_05 显示字符串
  5. redmi airdots左右耳不串联怎么办_小米Redmi AirDots蓝牙耳机只能单边连接不能串联的解决办法...
  6. 连不通linux 27017,mongo --host 127.0.0.1:27017 报错连不上
  7. 解决 fatal: unable to access xxx: Encountered end of
  8. python爬虫常用模块介绍(1)_python爬虫常用模块介绍(1)
  9. 软件测试一个月工作总结范文,2019年最新软件测试师工作总结范文
  10. 每天学点Linux:一