I have an Android Project called Hello on my Ubuntu 10.04 i386 Server (headless). It contains all things an Android project folder should have. I first build the project in bash while in the Project folder using this synax:
./android create project --target 5 --name HelloCompile --path ../../Projects/Hello --activity HelloActivity --package com.code.Hello
then I try to build the .apk with ant like so:
ant debug
I get this error:
BUILD FAILED /home/myusername/www/sdk/tools/ant/main_rules.xml:384: Unable to find a javac compiler; com.sun.tools.javac.Main is not on the classpath. Perhaps JAVA_HOME does not point to the JDK. It is currently set to "/usr/lib/jvm/java-6-openjdk/jre"
which is very confusing to me because just before I run ant debug
I run:
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk
which I know works because printenv
in bash shell returns:
JAVA_HOME=/usr/lib/jvm/java-6-openjdk
to compound this, adding this line to my /etc/environment file
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk
does not fix the problem either – I get the same error. Nothing I do changes the fact Ubunut still thinks /usr/lib/jvm/java-6-openjdk/jre
is the JAVA_HOME. What is going wrong? I’ve been at this for too many hours.
Advertisement
Answer
Did you install the JDK?
When you install Ubuntu only the JRE is installed as part of the default packages. Unfortunately Ubuntu’s package management names the directory as if the JRE were installed along with the JDK. The directory is named java-6-openjdk
even though the JDK is not be present.
Do the following:
sudo apt-get install openjdk-6-jdk
It will install the JDK in that same directory.