Chinaunix首页 | 论坛 | 博客
  • 博客访问: 532549
  • 博文数量: 75
  • 博客积分: 2374
  • 博客等级: 大尉
  • 技术积分: 933
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-18 14:27
文章分类

全部博文(75)

文章存档

2014年(1)

2013年(17)

2012年(10)

2011年(15)

2010年(23)

2009年(9)

我的朋友

分类: 其他平台

2013-07-12 14:53:00

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.
阅读(3163) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~