ubuntu下安装从astah官网下下载的astah community包。
编译android需要java 6,而下载的astah (ver 6.7.0)需要java 7 JRE支持。
下载openjdk 7 jre之后,如果要让astah正常运行,需要保证系统的/usr/bin/java要在自己定义的java路径前面。
待运行的程序按照$PATH中先后顺序搜索,若前面找到对应程序,则后面路径将不会搜索。
例如,假设我的PATH为/usr/bin:/MY/JAVA/PATH,那么终端下运行java时,会先后在/usr/bin与/MY/JAVA/PATH中
搜索java,所以当在/usr/bin下找到java后,/MY/JAVA/PATH下的java将会被忽略。
这样子运行java时,调用的是java 7;当运行javac时,则依然会调用我原先的java 6.
经过测试,让OpenJDK JAVA 7 jre与编译android所需的java 6 JDK共存是没有问题的。android依然可以正常编译
====
经过确认,android的编译与openjdk 7毫无关系,自始至终都是使用自己定义的java路径。
原因是,环境设置时有JAVA_HOME这个参数,而在build/envsetup.sh中,会调用set_stuff_for_environment内置函数。
这个内置函数会去查找JAVA_HOME,然后将当前的编译环境的java都设置成JAVA_HOME指定的java版本。
注意的是,set_stuff_for_environment是在执行lunch命令后才调用的。
android在工具检测时,不允许使用openjdk,也不允许使用java 7.
阅读(3242) | 评论(0) | 转发(0) |