Android7编译问题总汇:Unable to locate package错误解决办法以及jdk的切换
2024-05-15 18:08:40
ThanksView
  • 访问次数: 229
  • 注册日期: 2019-03-19
  • 最后登录: 2024-07-05
问题分析以及解决方法
在ubuntu上安装Open JDK 8时遇到问题:

$ sudo apt-get install openjdk-8-jdk
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package openjdk-8-jdk
多数是因为apt更新源的问题,更新一下源就ok了
$ sudo add-apt-repository ppa:openjdk-r/ppa
$ sudo apt-get update
$ sudo apt-get install openjdk-8-jdk

多个jdk切换方法
首先我们看下系统已经安装的或在用的JDK

$ update-java-alternatives -l
java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64
现在安装jdk8之后变成
$ update-java-alternatives -l
java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64
java-1.8.0-openjdk-amd64 1069 /usr/lib/jvm/java-1.8.0-openjdk-amd64
下面我们用“update-alternatives --config java” 指令切换默认jdk
$ sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).
 
  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      auto mode
  1            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      manual mode
* 2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1069      manual mode
 
Press enter to keep the current choice[*], or type selection number:
选择你要使用的JDK:比如1然后回车java就ok了,同上方法将javac、javap、javadoc更换即可:
$ sudo update-alternatives --config javac
$ sudo update-alternatives --config javap
$ sudo update-alternatives --config javadoc


SSL error when connecting to the Jack server. Try 'jack-diagnose'

报错详细打印


FAILED: setup-jack-server/bin/bash -c "(prebuilts/sdk/tools/jack-admin install-server prebuilts/sdk/tools/jack-launcher.jar prebuilts/sdk/tools/jack-server-4.11.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.11.ALPHA.jar 4.11.ALPHA 2>&1 || exit 0 ) && (prebuilts/sdk/tools/jack-admin update jack prebuilts/sdk/tools/jacks/jack-4.32.CANDIDATE.jar 4.32.CANDIDATE || exit 47 )"Jackserveralready installedin"/home/jerry/.jack-server"Launching Jackserverjava -XX:MaxJavaStackTraceDepth=-1-Djava.io.tmpdir=/tmp -Dfile.encoding=UTF-8-XX:+TieredCompilation -cp /home/jerry/.jack-server/launcher.jar com.android.jack.launcher.ServerLauncherJackserverfailedto(re)start, try'jack-diagnose'orsee JackserverlogSSL errorwhenconnectingtothe Jackserver. Try'jack-diagnose'SSL errorwhenconnectingtothe Jackserver. Try'jack-diagnose'可以看到主要报错的地方为SSL error when connecting to the Jack server. Try 'jack-diagnose'


3. 解决方法

服务器安装的是openjdk8,输入以下命令:


sudo gedit /etc/java-8-openjdk/security/java.security


将jdk.tls.disabledAlgorithms中的TLSv1, TLSv1.1去掉即可,如下图
修改的地方

另外在编译前,要输入以下命令:

export LC_ALL=C

用于去除所有本地化的设置,让命令能正确执行。

ThanksView 最后编辑, 2024-05-15 18:22:34
沙发
2024-05-15 18:20:14
ThanksView
  • 访问次数: 229
  • 注册日期: 2019-03-19
  • 最后登录: 2024-07-05
编译Android8.1的时候JACK报错

SSL error when connecting to the Jack server. Try 'jack-diagnose'

运行jack-diagnose

提示端口被占用的信息

Port XXXX is used by another process (pid=), please ensure to free the port or change port configuration in XXX

端口占用就换个端口吧。

更改~/.jack-settings

 

SERVER_PORT_SERVICE=27755
SERVER_PORT_ADMIN=27765

同步更改~/.jack-server/config.properties

jack.server.service.port=27755
jack.server.admin.port=27765

更改config.properties的权限为600

 chmod 600  ~/.jack-server/config.properties

继续编译,依然是报这个错误。 重新更改端口,错误依旧,因此错误原因可能不是这个。 

编辑/etc/java-8-openjdk/security/java.security 

找到TLSv1这行,把TLSv1, TLSv1.1,删除后保存

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

切换到Android编译源码项目目录:prebuilts/sdk/tools/

运行:./jack-admin kill-server ./jack-admin start-server

之后重新编译。 错误解决。
1/1

三维半岛官网: http://www.thanksview.com

进入首页