jdk 구버젼이 존재하는 저장소를 추가하여야 한다.
build에 필요한 javac등이 설치되지 않으므로 jdk5를 설치해야 한다.
그럼 ubuntu에서 jdk1.5 (jdk5) 설치 하는 방법을 알아보자.
2. 재미있게 jdk5를 직접 다운로드 받아서 설치하는 방법을 알아보자.
jre(java)만 설치하게 되면 javac, jar 등이 없으므로 아래의 jdk를 설치하자.
상기 링크를 통해 본인의 PC 환경에 맞는 파일을 선택하여 저장하도록 한다.
자동압축풀기설치를 위해서 rpm.bin 을 다운로드 받았다. rpm으로 설치를 하면 적절한 위치에 알아서 설치가 된다.
(jdk-1_5_0_22-linux-i586.bin 파일을 받았다면 설치할 폴더로(/usr/java/ 등..) 파일을 move 한 후 파일에 execute 모드를 주고 실행하면 된다.)
$chmod a+x jdk-1_5_0_22-linux-i586.rpm.bin
$sudo ./jdk-1_5_0_22-linux-i586.rpm.bin
와 같이 실행하면 라이센스에 대한 문구가 출력이 된다.
space 키 입력하면서 모두 읽고나서 마지막으로 yes를 입력하여 확인 하고 나면
jdk-1_5_0_22-linux-i586.rpm 파일이 생성된다.
ubuntu에서는 rpm을 ubuntu용 설치 패키지 파일인 deb 포맷으로 변환해서 설치를 하여야 한다.
rpm to deb 로 변환을 위해서는 alien을 설치해야 한다.
$sudo apt-get install alien
alien 설치가 완료되었다면
deb로 변환해보자.
$sudo alien -c jdk-1_5_0_22-linux-i586.rpm
변환이 완료되면 jdk-1_5_0_22-linux-i586.deb 파일이 생성이 된다.
그럼 dpkg를 이용하여 최종 설치를 하면된다.
$ sudo dpkg -i jdk_1.5.0_22-1_i386.deb
전에 선택하지 않은 jre 패키지를 선택합니다.
(데이터베이스 읽는중 ...현재 129261개의 파일과 디렉토리가 설치되어 있습니다.)
jre 패키지를 푸는 중입니다 (jre_1.5.0_21-1_i386.deb에서) ...
jre (1.5.0_21-1) 설정하는 중입니다 ...
/usr/java/jdk1.5.0_22
위의 디렉토리로 패키지의 설치를 마쳤다.
마지막으로 java 1.5로 각 링크들을 변경하기 위해 아래와 같이 입력한다.
java 와 같이 기존에는 설치가 되어 있는 것들은 --config을 통해서
selection을 변경해주어야 한다.
그 이외 javac, jar, javah 와 같이 jdk를 통해 새로 설치된 것들을 install
$sudo update-alternatives --install "/usr/bin/java" "java" "/usr/java/jdk1.5.0_22/jre/bin/java" 1
$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-6-sun/jre/bin/java 63 auto mode
* 1 /usr/java/jre1.5.0_21/bin/java 1 manual mode
2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 manual mode
Press enter to keep the current choice[*], or type selection number: 1
$sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/java/jdk1.5.0_22/bin/javac" 63
$sudo update-alternatives --install "/usr/bin/jar" "jar" "/usr/java/jdk1.5.0_22/bin/jar" 63
$sudo update-alternatives --install "/usr/bin/javah" "javah" "/usr/java/jdk1.5.0_22/bin/javah" 63
$sudo update-alternatives --install "/usr/bin/javadoc" "javadoc" "/usr/java/jdk1.5.0_22/bin/javadoc" 63
update-alternatives 명령을 이용해 java, javac 등 의 링크를 새로 설치한 것으로 수정했다.
참고로 update-alternatives의 help를 보면 아래와 같다.
--install <link> <name> <path> <priority>
<priority> is an integer; options with higher numbers have higher priority in
automatic mode.
위의 예에서는 4번째 파라메터에 1 값을 주었는데 만약 64값을 주게 되면 auto mode에서도 알아서
/usr/java/jdk1.5.0_22/jre/bin/java
로 링크가 될 것 같다.
그리고 user home 에서 .bashrc 파일을 열어서 아래와 같이 JAVA_HOME을 설정하자.
*주의 =(equal) 앞뒤로 space는 허락하지 않는다.
$cd ~
$gedit .bashrc
# set PATH
export JAVA_HOME=/usr/java/jdk1.5.0_22/bin
export ANDROID_JAVA_HOME=$JAVA_HOME
파일 저장 후 편집한 bashrc를 아래와 같이 source를 이용하여 환경에 바로 적용하자.
$cd ~
$source .bashrc
설정한 JAVA_HOME이 적용되었는지 확인
$echo $JAVA_HOME
/usr/java/jdk1.5.0_22
마지막으로 모두 제대로 설정되었는지 확인.
$which java
/usr/bin/java
$java -version
java version "1.5.0_21"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_21-b01)
Java HotSpot(TM) Client VM (build 1.5.0_21-b01, mixed mode, sharing)
$which javac
/usr/bin/javac
$which jar
/usr/bin/jar
$which javah
/usr/bin/javah
apt-get으로 설치 했을 경우에는 update-alternatives 를 사용할 필요가 없었는데,
dpkg -i deb로 설치를 하니 할일이 참 많다.
java, javac, jar, javah, javadoc 등이 모두 설치 되었음을 확실히 해야 한다.
여기까지 하였다면 다시 make를 하면 정상적으로 빌드가 시작된다.
비슷한 문제로 고민하는 이들이 있군요.