原生android 4.4.4 (KitKat)开始使用Java 7,但现在芯片厂商的codebase用的还是Java 6,需要来回切换,纠结吧~

先说一下原生android KitKat,参照android developer官网,安装openjdk即可:

$sudoapt-getupdate$sudoapt-getinstallopenjdk-7-jdk$sudoupdate-alternatives--configjava$sudoupdate-alternatives--configjavac

openjdk会直接安装到/usr/bin/目录下

➜~Twhichjavac/usr/bin/javac➜~Tjavac-versionjavac1.7.0_55

如果要切回Java 6,可以通过修改环境变量,我的java 6是直接在oracle官网<link>下载,放入了~/bin/目录里,因此单独把设置环境变量的脚本独立出来

➜~cat~/bin/set_java_1.6exportJAVA_HOME=~/bin/jdk1.6.0_45exportPATH=$JAVA_HOME/bin:$PATHexportCLASSPATH=$JAVA_HOME➜~source~/bin/set_java_1.6➜~whichjavac/home/caohong/bin/jdk1.6.0_45/bin/javac➜~javac-versionjavac1.6.0_45

搞定。


更优雅的,参考<OSX setjdk>, 写一个执行脚本

#!/bin/bashfunctionsetjdk{#localvmdir=/System/Library/Frameworks/JavaVM.framework/Versions#修改成自己的jdk所在的目录,并且要把目录名从jdk1.6.0_45改成jdk/1.6,执行起来:setjdk1.6localvmdir=~/bin/caohong/bin/jdk/localver=${1?Usage:setjdk<version>}[-d$vmdir/$ver]||{echoUnknownJDKversion:$verreturn1}echo-n"Settingthisterminal'sJDKto$ver..."exportJAVA_HOME=$vmdir/$ver/HomePATH=$(echo$PATH|tr':''\n'|grep-v$vmdir|tr'\n'':')exportPATH=$JAVA_HOME/bin:$PATHjava-version}

这个参考脚本里,PATH目录保证了不会因为执行多次`setjdk`而把jdk目录累加起来(tr的作用是把冒号换成换行符,以便用grep -v把原来设置的jdk删除)

另外,MAC系统里,从10.5之后,java目录可以通过 /usr/libexec/java_home获得(详细参考<apple developer: how to get jdk on max osx>):

➜~/usr/libexec/java_home/Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home

对于<OSX setjdk>里稍微有点过时,因为10.5之前,java的目录都是放在/System/Library/Frameworks/JavaVM.framework/Versions 目录下,default值是通过软链接来指定的:

➜~ls-l/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDKlrwxr-xr-x1rootwheel5963019:21/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK->/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents


更多相关文章

  1. Android(安卓)Environment 判断sd卡是否挂载 获取sd卡目录
  2. ubuntu16.04 Android(安卓)Studio 模拟器无法启动
  3. Android(安卓)Service相关
  4. 用kotlin写了一些android常用的一些工具类
  5. Ubuntu 12.04 64位编译cm-10.2 总结
  6. ionic app 目录结构说明
  7. Android(安卓)异步和超时处理 例子
  8. android ubuntu编译ffmpeg
  9. android Fragments详解四:管理fragment

随机推荐

  1. libgdx实例分析小记(一)
  2. android 获取缓存文件的地址
  3. android 批量上传图片
  4. android开发 - NDK_PROJECT_PATH = null
  5. Android打开/关闭免提(SpeakerPhone)
  6. Android实现拖拉移动Item
  7. ubantu10.04配置android 开发环境
  8. 获取drawable里的路径
  9. Android基础教程——调节系统屏幕亮度
  10. github 简单记录