现在越来越多的代码开始使用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 版本