编译Android 使用 Java5 还是 Java6

现在越来越多的代码开始使用java 6 的feature, 而 Android 却要求java5!


这给开发带来麻烦:得装两个版本的java, 然后用 update-alternatives 去切换,注意有3个相关程序:


update-alternatives --config java

update-alternatives --config javac

update-alternatives --config javadoc


经过试验,发现android 可以使用java6, 需要:

1)修改build/core/main.mk 中相关检查代码,使其识别java6

 # Check for the correct version of java

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

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

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

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

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

@@ -149,7 +149,7 @@ $(error stop)

 endif

 

 # Check for the correct version of javac

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

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

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

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

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

2)  javadoc 仍然需要使用 1.5 版本

 


 

 

你可能感兴趣的:(java,android,shell,Build,javadoc)