问题分析以及解决方法
在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
用于去除所有本地化的设置,让命令能正确执行。