使用jdk1.6 make sdk时发生的错误
?
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.mk2010-12-02 15:57:04.595615674 +0800+++ ../android_work1/build/core/droiddoc.mk2010-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) \?
?
?
?