androidビルド時のJDK5要求2009年08月24日 16時40分55秒

前にandroidのビルドを行ったときは多分、JDK6をインストールしてそのままエラーになっていなかったと思いますが、今回、以下の処理でエラーとなってしまいました。
  • repo init -u git://android.git.kernel.org/platform/manifest.git
  • repo sync
  • make
laptop:~/dev/android/mydroid$ make
============================================
PLATFORM_VERSION_CODENAME=Donut
PLATFORM_VERSION=Donut
TARGET_PRODUCT=generic
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=Donut
============================================
************************************************************
You are attempting to build with the incorrect version
of java.
 
Your version is: java version "1.6.0_14".
The correct version is: 1.5.
 
Please follow the machine setup instructions at
    http://source.android.com/download
************************************************************
build/core/main.mk:105: *** stop.  中止.
laptop:~/dev/android/mydroid$ 

前に参照したページはこちらですが、明示的にJDK6を指定しています。
確かに、現時点の本家のページの説明ではJDK6には対応してないと書いてありますね。やっぱりその都度処理経過はメモしておかないとわからなくなります。

JDKの切り替え

  1. JDK5のインストール(apt-get install sun-java5-jdk)
  2. 「update-java-alternatives -l」で状態確認
  3. 「update-java-alternatives -s java-1.5.0-sun」コマンドでJDK5に切り替え
  4. /etc/bash.bashrcの「JAVA_HOME」設定部分を「export JAVA_HOME=/usr/lib/jvm/java-5-sun 」に変更

「update-java-alternatives」の実行結果は以下。
laptop:~/dev/android/mydroid$ sudo update-java-alternatives -l
java-1.5.0-sun 53 /usr/lib/jvm/java-1.5.0-sun
java-6-sun 63 /usr/lib/jvm/java-6-sun
laptop:~/dev/android/mydroid$ sudo update-java-alternatives -s java-1.5.0-sun
firefox-javaplugin.so の alternatives がありません。
iceape-javaplugin.so の alternatives がありません。
iceweasel-javaplugin.so の alternatives がありません。
midbrowser-javaplugin.so の alternatives がありません。
mozilla-javaplugin.so の alternatives がありません。
xulrunner-1.9-javaplugin.so の alternatives がありません。
xulrunner-javaplugin.so の alternatives がありません。
'HtmlConverter' を提供するために '/usr/lib/jvm/java-1.5.0-sun/bin/HtmlConverter' を使います。
'appletviewer' を提供するために '/usr/lib/jvm/java-1.5.0-sun/bin/appletviewer' を使います。
'apt' を提供するために '/usr/lib/jvm/java-1.5.0-sun/bin/apt' を使います。
'extcheck' を提供するために '/usr/lib/jvm/java-1.5.0-sun/bin/extcheck' を使います。
'idlj' を提供するために '/usr/lib/jvm/java-1.5.0-sun/bin/idlj' を使います。
'jar' を提供するために '/usr/lib/jvm/java-1.5.0-sun/bin/jar' を使います。
'jarsigner' を提供するために '/usr/lib/jvm/java-1.5.0-sun/bin/jarsigner' を使います。
'java-rmi.cgi' を提供するために '/usr/lib/jvm/java-1.5.0-sun/bin/java-rmi.cgi' を使います。
'javac' を提供するために '/usr/lib/jvm/java-1.5.0-sun/bin/javac' を使います。
'javadoc' を提供するために '/usr/lib/jvm/java-1.5.0-sun/bin/javadoc' を使います。
'javah' を提供するために '/usr/lib/jvm/java-1.5.0-sun/bin/javah' を使います。
'javap' を提供するために '/usr/lib/jvm/java-1.5.0-sun/bin/javap' を使います。
'jconsole' を提供するために '/usr/lib/jvm/java-1.5.0-sun/bin/jconsole' を使います。
'jdb' を提供するために '/usr/lib/jvm/java-1.5.0-sun/bin/jdb' を使います。
'jinfo' を提供するために '/usr/lib/jvm/java-1.5.0-sun/bin/jinfo' を使います。
'jmap' を提供するために '/usr/lib/jvm/java-1.5.0-sun/bin/jmap' を使います。
'jps' を提供するために '/usr/lib/jvm/java-1.5.0-sun/bin/jps' を使います。
'jsadebugd' を提供するために '/usr/lib/jvm/java-1.5.0-sun/bin/jsadebugd' を使います。
'jstack' を提供するために '/usr/lib/jvm/java-1.5.0-sun/bin/jstack' を使います。
'jstat' を提供するために '/usr/lib/jvm/java-1.5.0-sun/bin/jstat' を使います。
'jstatd' を提供するために '/usr/lib/jvm/java-1.5.0-sun/bin/jstatd' を使います。
'native2ascii' を提供するために '/usr/lib/jvm/java-1.5.0-sun/bin/native2ascii' を使います。
'rmic' を提供するために '/usr/lib/jvm/java-1.5.0-sun/bin/rmic' を使います。
'serialver' を提供するために '/usr/lib/jvm/java-1.5.0-sun/bin/serialver' を使います。
'ControlPanel' を提供するために '/usr/lib/jvm/java-1.5.0-sun/jre/bin/ControlPanel' を使います。
'java' を提供するために '/usr/lib/jvm/java-1.5.0-sun/jre/bin/java' を使います。
'java_vm' を提供するために '/usr/lib/jvm/java-1.5.0-sun/jre/bin/java_vm' を使います。
'javaws' を提供するために '/usr/lib/jvm/java-1.5.0-sun/jre/bin/javaws' を使います。
'keytool' を提供するために '/usr/lib/jvm/java-1.5.0-sun/jre/bin/keytool' を使います。
'orbd' を提供するために '/usr/lib/jvm/java-1.5.0-sun/jre/bin/orbd' を使います。
'pack200' を提供するために '/usr/lib/jvm/java-1.5.0-sun/jre/bin/pack200' を使います。
'policytool' を提供するために '/usr/lib/jvm/java-1.5.0-sun/jre/bin/policytool' を使います。
'rmid' を提供するために '/usr/lib/jvm/java-1.5.0-sun/jre/bin/rmid' を使います。
'rmiregistry' を提供するために '/usr/lib/jvm/java-1.5.0-sun/jre/bin/rmiregistry' を使います。
'servertool' を提供するために '/usr/lib/jvm/java-1.5.0-sun/jre/bin/servertool' を使います。
'tnameserv' を提供するために '/usr/lib/jvm/java-1.5.0-sun/jre/bin/tnameserv' を使います。
'unpack200' を提供するために '/usr/lib/jvm/java-1.5.0-sun/jre/bin/unpack200' を使います。
firefox-javaplugin.so の alternatives がありません。
iceape-javaplugin.so の alternatives がありません。
iceweasel-javaplugin.so の alternatives がありません。
midbrowser-javaplugin.so の alternatives がありません。
mozilla-javaplugin.so の alternatives がありません。
xulrunner-1.9-javaplugin.so の alternatives がありません。
xulrunner-javaplugin.so の alternatives がありません。
laptop:~/dev/android/mydroid$ 

今回の切り替え手順についてははっきりと本家のページに書いてあるのですが、「Ubuntu Linux (32-bit x86)」のところには書いてありません。「Ubuntu Linux (64-bit x86)」のところにのみ書かれています。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

※投稿には管理者が設定した質問に答える必要があります。

名前:
メールアドレス:
URL:
次の質問に答えてください:
このブログでは「組込み」と「組み込み」のどちらを使っている?

コメント:

トラックバック

このエントリのトラックバックURL: http://kumikomi.asablo.jp/blog/2009/08/24/4534359/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。