如何用jdk1.6编译android源码

一直到froyo为止,Android仍然不支持用jdk1.6编译。

如果安装的是jdk1.6,编译时会有如下错误提示,

 

Checking build tools versions...

************************************************************

You are attempting to build with the incorrect version

of java.

 

Your version is: java version "1.6.0_20".

The correct version is: 1.5.

 

Please follow the machine setup instructions at

    http://source.android.com/download

************************************************************

build/core/main.mk:117: *** stop.  Stop.

 

 

这时可以修改build/core/main.mk,把对java的版本检查注释掉,如下

 

# Check for the correct version of java

#java_version := $(shell java -version 2>&1 | head -n 1 | grep '[ "]1/.5[/. "$$]')

#ifeq ($(strip $(java_version)),)

#$(info ************************************************************)

#$(info You are attempting to build with the incorrect version)

#$(info of java.)

#$(info $(space))

#$(info Your version is: $(shell java -version 2>&1 | head -n 1).)

#$(info The correct version is: 1.5.)

#$(info $(space))

#$(info Please follow the machine setup instructions at)

#$(info $(space)$(space)$(space)$(space)http://source.android.com/download)

#$(info ************************************************************)

#$(error stop)

#endif

 

# Check for the correct version of javac

#javac_version := $(shell javac -version 2>&1 | head -n 1 | grep '[ "]1/.5[/. "$$]')

#ifeq ($(strip $(javac_version)),)

#$(info ************************************************************)

#$(info You are attempting to build with the incorrect version)

#$(info of javac.)

#$(info $(space))

#$(info Your version is: $(shell javac -version 2>&1 | head -n 1).)

#$(info The correct version is: 1.5.)

#$(info $(space))

#$(info Please follow the machine setup instructions at)

#$(info $(space)$(space)$(space)$(space)http://source.android.com/download)

#$(info ************************************************************)

#$(error stop)

#endif

 

 

为了避免在生成java doc时出现错误,还需要修改build/core/droiddoc.mk,

不然make sdk还是会出错的。可以根据下面提示进行修改。

 

 

danny@danny-laptop:~/repository/cts-2.2_r4$ repo diff build/core/droiddoc.mk 

 

project build/

diff --git a/core/droiddoc.mk b/core/droiddoc.mk

index 03ffa55..ba4857b 100644

--- a/core/droiddoc.mk

+++ b/core/droiddoc.mk

@@ -57,6 +57,13 @@ endif

 $(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 @@ $(full_target): $(full_src_files) $(droiddoc_templates) $(droiddoc) $(html_dir_f

                 -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) /

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值