Ubuntu配置编译环境jack-server问题解决

  • Post author:
  • Post category:其他




1、更新apt的源

参考此博客:https://blog.csdn.net/qq_30683329/article/details/88582435

在souce.list 中再多添加一个

deb http://us.archive.ubuntu.com/ubuntu trusty main universe

用于安装下一步的依赖库



2、安装依赖库

执行以下命令

$ sudo apt-get install git gnupg flex bison gperf build-essential

zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev

libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386

libgl1-mesa-dev g+±multilib mingw32 tofrodos

python-markdown libxml2-utils xsltproc zlib1g-dev:i386

$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

安装内核编译依赖:sudo apt-get install lzop

安装完成后,可以开始编译了。



3、编译Android7.1源码

Android7.1 的源码,依赖于jdk-8,一般我们使用apt-get 安装jdk8,

此处有个大坑,我们使用apt-get 安装的jdk8 目前只有jdk8-292(目前官网上只剩下这个版本了)但是Android 源码使用此jdk 版本,会出现jack-server 错误,用sdk 目录下prebuilts/sdk/tools下的jack-admin dump-report出来的错误提示

gnutls_handshake() failed

,之前被这个问题折磨了很久,最后才知道,本机使用的jdk版本不得低于jdk8 ,不得高于jdk8-191,因目前官网没有旧版本的jdk 了,所以只有找原来的资源,资源上传至我的博客资源(jdk8-171).目前测试OK。



jdk的安装

资源下载后,解压出来,如第一次安装jdk 则执行

sudo mkdir /usr/lib/jvm

sudo mv java-8-openjdk171-amd64 /usr/lib/jvm

然后导入java 环境变量,修改~/.bashrc文件在最后一行添加(编辑时添加sudo )

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk171-amd64
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

然后注销一下,重新登入,查看java 版本java -version

openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-8u171-b11-2~14.04-b11)
OpenJDK 64-Bit Server VM (build 25.171-b11, mixed mode)

再次重新编译,如还出现jack-server 错误,使用jack-admin dump-report 导出来的日志是还是client server 等网络问题,最后出现的ssl connect failed ,出现此问题的原因,是因为之前使用其他的jdk 编译出错过一次,此时在代码out目录下已经出现了一些jar 包,重新更新jdk 后,与之前生成的文件有冲突导致的,此时执行make clean 重新编译即可。



其他jack-server问题

出现server 端口8087:拒绝连接问题:是因为主目录下.jacksetting 与.jackserver/config.properties配置的端口不一致,此时需要编辑两个文件,使端口一致。

如出现端口占用问题,修改上面提到的两个文件的端口号即可。

至此,源码应该已经可以正常编译了。大家共勉!!!!!有问题,请私信。



版权声明:本文为weixin_43854010原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。