写在前面:

针对该问题,最好的解决方式,参考评论区给的最终解决方案。

配置文件中把TLS1.0跟TLS1.1的限制给去掉即可,修改/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/java.security文件,去掉TLSv1,TLSv1.1即可,JAVA官网版本更新信息,链接:https://java.com/en/download/help/release_changes.html

 
  1. jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \

  2. DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \

  3. include jdk.disabled.namedCurves

以下为个人踩坑记录。

1 背景 
rk3399编译时,jack-admin总是报错,运行jack-admin start-server,之后,一直卡在连接状态,退不出来。查看report.xxx.txt,提示
$ JACK_EXTRA_CURL_OPTIONS=-v jack-admin list server
*   Trying 127.0.0.1...
* TCP_NODELAY set
* connect to 127.0.0.1 port 8077 failed: Connection refused
* Failed to connect to 127.0.0.1 port 8077: Connection refused

2 尝试
参考网上例子,重装jack,改换端口,改jack-admin,所有能试的都试过了,仍然无法正常运行。

3 后来,在其它服务器上编译,是正常的,但是在prebuild/sdk/tools/下反复运行几次jack-admin xxx后,又会出现编译不过的问题了。

4 最后,发现是java1.8的版本升级了,之前的1.8的版本可能都没问题,只要升级了1.8.0_292这个版本就会出问题
yanhongfei@ubuntu:~/git_nct/RK3399System/RK3399-JD4-Android7.1/prebuilts/sdk/tools$ java -version
openjdk version "1.8.0_292"
OpenJDK Runtime Environment (build 1.8.0_292-8u292-b10-0ubuntu1~18.04-b10)
OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)

5 卸载java
先检查是否安装,命令:sudo dpkg --list | grep -i jdk
移除openjdk包,命令:sudo apt-get purge openjdk*
卸载 OpenJDK 相关包,命令:sudo apt-get purge icedtea-* openjdk-*
有些没卸载完,命令:sudo apt autoremove
再次检查是否卸载成功,命令:sudo dpkg --list | grep -i jdk
卸载完成

6 安装java,由于阿里云上的jdk只有1.8.0_292的版本可以正常升级,但这个版本又有问题,于是设置为清华源
6.1 更新清华源,下载
更改/etc/apt/source.list
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
6.1.1 更新源
yanhongfei@ubuntu:~$ sudo apt-get update 
yanhongfei@ubuntu:~$ sudo apt-get upgrade  #更新软件,一般不用调用
yanhongfei@ubuntu:~$ sudo apt-get autoremove 
6.2 查找可用版本
yanhongfei@ubuntu:~$ sudo apt-cache madison openjdk-8-jdk          
openjdk-8-jdk | 8u162-b12-1 | https://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic/universe amd64 Packages
6.3 安装对应版本
yanhongfei@ubuntu:~$ sudo apt-get install openjdk-8-jdk=8u162-b12-1
6.3.1如果提示依赖问题,则按提示安装对应的版本
yanhongfei@ubuntu:~$ sudo apt-get install openjdk-8-jre=8u162-b12-1 
yanhongfei@ubuntu:~$ sudo apt-get install openjdk-8-jre-headless=8u162-b12-1

6.4 输入命令java -version,看到希望的java版本被设置。
yanhongfei@ubuntu:~/git_nct/RK3399System$ java -version
openjdk version "1.8.0_162"
OpenJDK Runtime Environment (build 1.8.0_162-8u162-b12-1-b12)
OpenJDK 64-Bit Server VM (build 25.162-b12, mixed mode)

jack无法编译2.0版本

背景:

通过配置文件中把TLS1.0跟TLS1.1的限制给去掉,可解决在openjdk version "1.8.0_292"版本上的编译问题,在后期update后,java版本被升级到"1.8.0_312",又出现无法编译问题,未找到可行办法。于是重装jdk(有了之前的踩坑记录,这次就熟练多了)

1 卸载jdk

sudo apt purge -y openjdk-11-jre-headless
sudo apt purge -y openjdk-8-jre-headless
sudo apt purge -y default-jdk

2 重新安装指定版本

sudo apt-cache madison openjdk-8-jdk   #查找可用版本,只有一个8u162-b12-1的较旧版本

sudo apt-get install openjdk-8-jdk=8u162-b12-1

sudo apt-get install openjdk-8-jre=8u162-b12-1

sudo apt-get install openjdk-8-jre-headless=8u162-b12-1

sudo apt-get install openjdk-8-jdk-headless=8u162-b12-1

注意, java, javac -version版本要一致
默认切换到使用opendjk8
sudo update-alternatives --config java

sudo update-alternatives --config javac

3 重新运行jack-admin start-server仍然无法运行

查看.jack-server/logs下的,发现错误 “Failed to setup ssl context”,怀疑是jack-admin server需重新安装,于是

4重新安装jack-server

4.1删除jack-server

./jack-admin uninstall-server

rm ~/.jack-settings

4.2安装

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

3 重新运行jack-admin start-server, 成功

备注:若想继续用292,可以参考后续调试记录6

4 禁止自动升级

修改配置文件/etc/apt/apt.conf.d/10periodic。
将“1”改为“0”,保存即可。

$vim /etc/apt/apt.conf.d/10periodic
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0"

5 make时,出错:ninja: error: 'out/target/common/obj/APPS/TeleService_intermediates/classes.noshrob.jack', needed by
'out/target/common/obj/APPS/TeleServiceTests_intermediates/jack.check.timestamp', missing and no known rule to make it
build/core/ninja.mk:148: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1

原因是当时为了屏蔽TeleService.apk,修改了Telephony/Android.mk,造成首次编译不通过,可以编译完了再改
 修改RK3399-JD4-Android7.1/packages/services/Telephony/Android.mk,更改名字,使其不编译(注意,首次编译可能会不通过,可以编译完了再改)
#LOCAL_PACKAGE_NAME := TeleService
LOCAL_PACKAGE_NAME := BackTeleService

其实正确方式应该在PRODUCT_DEL_PACKAGES中添加TeleService,注意,在make前,先make installclean一下

PRODUCT_PACKAGES += \
    Telecom \
    TelephonyProvider \
    MmsService

PRODUCT_DEL_PACKAGES += \
    Music \
    Calendar \
    Contacts \
    LiveTv \
    Email \
    DeskClock \
    QuickSearchBox \
    DocumentsUI \
    TvSettings \
    Launcher3 \
    Launcher2 \

TeleService

6 纠结292版本。。。(最终是直接拷贝实现)

1 如想继续用292的source.list,可将原有包含有292版本的/etc/apt/sources.list替换为本机/etc/apt/sources.list
2 更新仓库
,然而更新,仍是162的版本,仓库 内无法找到292的版本,可手动拷贝压缩292的版本,
sudo apt-get update
备注: 添加openjdk仓库和删除仓库指令
      sudo add-apt-repository ppa:openjdk-r/ppa
      sudo add-apt-repository --remove ppa:openjdk-r/ppa
3 拷贝292版本
3.1 压缩292版本
yanhongfei@ubuntu:/usr/lib/jvm$ sudo tar -jcvf ../1.8.0.292_rk3399.tar.bz2 java-8-openjdk-amd64 java-1.8.0-openjdk-amd64 
3.2 拷贝并解压
yanhongfei@ubuntu:/usr/lib/jvm$ sudo tar -xvjf 1.8.0.292_rk3399.tar.bz2 
3.3 export
yanhongfei@ubuntu:~/Workspace/RK3399System_self$ 
yanhongfei@ubuntu:~/Workspace/RK3399System_self$ export LC_ALL=C
yanhongfei@ubuntu:~/Workspace/RK3399System_self$ export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 
yanhongfei@ubuntu:~/Workspace/RK3399System_self$ export PATH=$JAVA_HOME/bin:$PATH 
yanhongfei@ubuntu:~/Workspace/RK3399System_self$ export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
yanhongfei@ubuntu:~/Workspace/RK3399System_self$ 
yanhongfei@ubuntu:~/Workspace/RK3399System_self$ 
yanhongfei@ubuntu:~/Workspace/RK3399System_self$ java -version
openjdk version "1.8.0_292"
OpenJDK Runtime Environment (build 1.8.0_292-8u292-b10-0ubuntu1~18.04-b10)
OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)
yanhongfei@ubuntu:~/Workspace/RK3399System_self$ javac -version
javac 1.8.0_292

版本链接:已去掉TLSv1,TLSv1.1,可直接使用

openjdk版本1.8.0.292-互联网文档类资源-CSDN下载

jack编译突然无法编译的问题相关推荐

  1. android 关闭jack_Android7.0 配置JACK支持多用户同时编译

    # Android7.0 配置JACK支持多用户同时编译 reference: 背景 需要在一个Android7平台上进行有关的工作,但是编译的时候发现有问题.记录一下.因为和同事共用一台服务器,因为 ...

  2. Jack Server--Android N AOSP编译--Failed to contact Jack server

    准备 今天正式担任Android7.0(N)项目模块的开发和维护工作,借此机会git和make了一套系统代码用来研究.在编译的过程中,与以往系统不同的是Android7.0系统编译工具链使用了全新的J ...

  3. android 8.0如何编译,ubuntu16.0编译Android 8.0 Android O记录

    一.必要的系统环境 硬盘200G,内存4G+,交换分区(swap)4G+(可装完系统后添加,见后面错误处理部分) 二.下载源码,国内可以在清华镜像站下载 网上有很多教程,这里就不再累述了 三.然后安装 ...

  4. H6机顶盒Android编译[2]-Android编译

    注意:本人也是第一次android编译,记录其过程为方便自己,同时给初学者提供参考,不正确之处还望包含指正! 前言 使用易新泰的H6机顶盒平台,搭载全志H6处理器,使用易新泰提供的SDK环境,使用ub ...

  5. 即时编译和提前编译_即时编译说明

    即时编译和提前编译 Just-in-time compilation is a method for improving the performance of interpreted programs ...

  6. 《编译与反编译技术实战 》一2.3 编译器的设计与实现概述

    本节书摘来自华章出版社<编译与反编译技术实战 >一书中的第2章,第2.3节,庞建民 主编 ,刘晓楠 陶红伟 岳 峰 戴超 编著,更多章节内容可以访问云栖社区"华章计算机" ...

  7. xcode修改时间后就要重新编译_iOS 微信编译速度优化分享

    前言 岁月真是个养猪场,这几年,人胖了,微信代码也翻了.记得 14 年转岗来微信时,用自己笔记本编译微信工程才十来分钟.如今用公司配的 17 年款 27-inch iMac 编译要接近半小时:偶然间更 ...

  8. 《编译与反编译技术实战》——第1章 实践的环境与工具 1.1 实践环境概述

    本节书摘来自华章计算机<编译与反编译技术实战>一书中的第1章,第1.1节,作者 刘晓楠 陶红伟 岳峰 戴超,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 第1 ...

  9. 《编译与反编译技术实战》——2.1节编译器、解释器及其工作方式

    本节书摘来自华章社区<编译与反编译技术实战>一书中的第2章,第2.1节编译器.解释器及其工作方式,作者刘晓楠 陶红伟 岳 峰 戴超,更多章节内容可以访问云栖社区"华章社区&quo ...

  10. python源代码的后缀名是_Python代码编译与反编译

    众所周知,Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议.那么很自然会有人有这样的疑问:难道Python程序只能以 ...

最新文章

  1. Http和Socket连接区别(ZT)
  2. Hyperface笔记
  3. mysql 修改表id值_修改数据库中表的id
  4. python转弯轨迹_使点沿着曲线轨迹移动
  5. VUE指令篇_不常用指令
  6. strcpy 函数的实现
  7. Python中静态方法的实现
  8. linux遍历目录源代码
  9. 创建线程的函数CreateThread
  10. 廖雪峰的python学习网址
  11. 一个maven错误:org/apache/maven/shared/filtering/MavenFilteringException
  12. u3d中如何添加avatar和状态机
  13. C语言课程设计--推箱子
  14. mtk协议与qc协议_通用充电器快充协议QC2.0,QC3.0,MTK PE,PE+,充电识别
  15. 5点促进软件外包转型升级
  16. 结构化数据、半结构化数据和非结构化数据
  17. Cubic interpolation
  18. 再谈防火墙的流量控制
  19. 电脑换个地方用有线就上不了网的问题
  20. 关于实现局域网内视频播放

热门文章

  1. 索引的使用以及常见索引类型,组合索引的具体使用方法。
  2. US1MF-ASEMI贴片快恢复二极管US1MF
  3. i7 13700k和i7 12700k差距
  4. 代码实现 | LDA方法分析红楼梦各回主题
  5. 智能可视化门铃方案调研报告
  6. 清空Redis集群数据工具
  7. 如何查询oracle 的版本
  8. 真相(truth)最可怕的敌人不是谎言(lie),而是神话(myth)
  9. 你了解设计公司的服务内容有哪些吗?
  10. QuartusII常用操作整理