编译Android Linux通过
时间:2009-08-20 来源:xw_max
com.sun.javadoc找不到等错误。
在 build-android.sh 中的设置JDK的PATH后面,添加ANDROID_JAVA_HOME变量就可以了。
export PATH=$PWD/jdk1.6.0_13/bin/:$PATH
export JAVA_HOME=$PWD/jdk1.6.0_13
export ANDROID_JAVA_HOME=$JAVA_HOME
解决思路:
由于找不到tools.jar/dt.jar等,才导致在编译java文件时给出那些错误提示。
在java/bin下面,grep com.sun.javadoc,找到这个类是在tools.jar中定义的。
据此,在整个android目录中搜索tools.jar,在下面的这个文件中找到相关定义:
android/build/core/find-jdk-tools-jar.sh
if [[ "x$ANDROID_JAVA_HOME" != x && -e $ANDROID_JAVA_HOME/lib/tools.jar ]] ; then |
看来,如果定义了ANDROID_JAVA_HOME这个变量,这个脚本会返回这变量下面的tools.jar
如果没有定义,则程序会自动根据javac的路径适配。
既然在其他同事那里可以编译通过,为什么我这里编译不通过呢?
引入build-android.sh里面相关的变量后,which javac,竟然返回这种值:
/home/xiewei/BB2.5/jdk1.6.0_13/bin//javac,javac前面竟然有两个斜杠,最终找到原因:在设置PATH变量的时候,多加了一个"/":
export PATH=$PWD/jdk1.6.0_13/bin/:$PATH
将bin/后面的那个/去掉,再次重新编译,一切OK。