Docs droiddoc: out/target/common/docs/dx
javadoc: error - In doclet class DroidDoc, method start has thrown an
exception java.lang.reflect.InvocationTargetException
com.sun.tools.javac.code.Symbol$CompletionFailure: class file for
sun.util.resources.OpenListResourceBundle not found
找了一下发现,网上的解决办法都是安装java 1.5去编译,偶又不想在系统上再装一个版本jdk了,研究了一下最新的版本anroid-AOSP代码已经没有这个问题了.
发现是在build/core/droiddoc.mk中添加了 -bootclasspath , 指定了rt.jar的路径。
--- build/core/droiddoc.mk 2010-12-02 15:57:04.595615674 +0800
+++ ../android_work1/build/core/droiddoc.mk 2010-12-02 15:23:52.579616182 +0800
@@ -57,6 +57,13 @@
$(full_target): PRIVATE_CLASSPATH:=$(LOCAL_CLASSPATH)
full_java_lib_deps :=
+$(full_target): PRIVATE_BOOTCLASSPATH :=
+ifeq ($(BUILD_OS),linux)
+# You have to set bootclasspath for javadoc manually on linux since Java 6.
+host_jdk_rt_jar := $(dir $(HOST_JDK_TOOLS_JAR))../jre/lib/rt.jar
+$(full_target): PRIVATE_BOOTCLASSPATH := $(host_jdk_rt_jar)
+endif
+
ifneq ($(LOCAL_IS_HOST_MODULE),true)
ifeq ($(LOCAL_JAVA_LIBRARIES),)
@@ -165,6 +172,7 @@
-templatedir $(PRIVATE_CUSTOM_TEMPLATE_DIR) \
-templatedir $(PRIVATE_TEMPLATE_DIR) \
$(PRIVATE_DROIDDOC_HTML_DIR) \
+ $(addprefix -bootclasspath ,$(PRIVATE_BOOTCLASSPATH)) \
$(addprefix -classpath ,$(PRIVATE_CLASSPATH)) \
-sourcepath $(PRIVATE_SOURCE_PATH)$(addprefix :,$(PRIVATE_CLASSPATH)) \
-d $(PRIVATE_OUT_DIR) \