原文链接:http://www.jianshu.com/p/d8d1d72d0248#

最近项目从Eclipse+Ant构建模式转移到了Android Studio+Gradle构建模式,自然的JDK版本号也从JDK6升级到了JDK7,但后来发现,由于我们是一个SDK项目,最终会以JAR包形式提供给第三方使用,这样就会遇到一个问题,如果我们使用JDK7编译JAR包,而第三方编译环境使用的还是旧的JDK6,那么编译工程的时候就会出现:

Unsupported major.minor version 51.0

因此需要把我们的Android Studio工程编译环境从JDK7降为JDK6,下面就是修改记录。

Mac系统JDK不同版本的路径

默认情况下,Mac系统JDK不同版本的默认安装目录有点差别,JDK6,JDK7和JDK8的 安装目录分别如下所示:

/System/Library/Java/JavaVirtualMachines/1.6..jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk1.7.0.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home

Android Studio的修改

点击Android Studio的File-Other Settings-Default Project Structure:

打开Project Structure对话框,在这个对话框中可以修改Android SDK和JDK的路径:

环境变量的修改

经过上面的修改,我们在Android Studio UI界面上编译时,将使用我们修改后的JDK6版本,但是当我们在Terminal中输入java -version查看当前JDK版本信息时,会发现还是之前的JDK7版本,可能的原因是之前系统中设置了JAVA_HOME环境变量,因此这里也要修改一下。

打开Terminal,输入vim ~/.bash_profile,打开这个文件,内容如下:

可以看到,环境变量里面确实还是之前的JDK7版本,将其指向JDK6的安装路径就可以了。然后重新加载profile使其生效:

source ~/.bash_profile

Jenkins的修改

自动化编译使用的是Tomcat+Jenkins,Jenkins的修改比较简单,在Jenkins首页点击[系统管理]-[系统设置],找到如下JDK设置选项进行修改即可:

修改完成之后,重启Tomcat,会发现Jenkins页面访问失败,原因在于我们使用的Jenkins版本最低只支持JRE7,官网截图如下:

而在环境变量那一步我们已经将JDK版本从JDK7降为JDK6了,这时可以通过修改Tomcat的JRE_HOME参数来解决,打开Tomcat安装目录下bin/catalina.sh(因为我使用的是Mac系统,Windows系统请切换到catalina.bat),搜索JRE_HOME参数,如果不存在就新建之,并赋值为电脑上JDK7目录:

JRE_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home

Android Studio 使用笔记:[转] Mac下修改Android Studio 所用的JDK版本的更多相关文章

  1. [Android Studio 权威教程]Windows下安装Android Studio

    从AS 0.5版本号開始使用.也是AS的推行者,在ApkBus公布的第一篇Android Studio Perview 2 获得了50K的浏览,1800多条回复下载. 在我的[Android Stud ...

  2. 【Android学习笔记】Mac下Android Studio开发环境搭建

    本文由@ray 出品,转载请注明出处.  文章链接:http://www.cnblogs.com/wolfray/p/7829069.html 对于移动端这块,笔者之前一直都是进行iOS开发的,也从来 ...

  3. Mac下改动Android Studio 所用的JDK版本号

    Mac下改动Android Studio 所用的JDK版本号 @author ASCE1885 近期项目从Eclipse+Ant构建模式转移到了Android Studio+Gradle构建模式.自然 ...

  4. Android开发学习之路--MAC下Android Studio开发环境搭建

    自从毕业开始到现在还没有系统地学习android应用的开发,之前一直都是做些底层的驱动,以及linux上的c开发.虽然写过几个简单的app,也对android4.0.3的源代码做过部分的分析,也算入门 ...

  5. (转载)Mac下使用Android Studio 获取 SHA1和MD5

    Mac下使用Android Studio 获取 SHA1和MD5 2015-08-10 15:38 1776人阅读 评论(1) 收藏 举报  分类: Android(14)  版权声明:本文为博主原创 ...

  6. Mac下设置Android源代码编译环境

    在Mac下编译Android最麻烦的就是设置Android的编译环境了,做完这一步基本上剩下的就是近乎傻瓜式的操作了.说起来也简单就三步,设置大小写敏感的文件系统.安装编译工具.设置文件系统同时能打开 ...

  7. Windows下修改Android手机的hosts

    Windows下修改Android手机的hosts 1.首先,手机是Root过的. 2.连接手机和电脑, adb shell 进入命令行. 3.获取root用户权限: su -root 4.不知道为何 ...

  8. Mac下修改环境变量

    Mac下修改环境变量 如果使用默认Bash, 首先修改 ~/.bash_profile 文件,添加文件路径,比如: export PATH=~/bin:/usr/local/bin/node:~/Do ...

  9. mac 下搭建 Android 开发环境

    因工作需要,要在mac 下搭建 Android 开发环境.谷歌.度娘了好久,没有找个一个完整又系统的方法,很是苦恼.最终,皇天不负有心人,找到了下面这篇文档,结合亲身体验,特此记录.也为有这方面需求的 ...

随机推荐

  1. 125.乘积最大(划分性DP)

    1017 乘积最大 2000年NOIP全国联赛普及组NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解 题目描述 Descriptio ...

  2. Scala实战高手****第10课:Scala继承彻底实战和Spark源码鉴赏

    isInstanceOf  和 asInstanceOf is用于判断 as用于转换,把父类类型转换成子类类型   getClass 具体找出类型    

  3. WebApi_HelpPage

        HelpPage是描述WebApi接口信息的Web页,根据项目编译的Xml文件生成,包括接口的Router地址.请求参数.请求参数示例.响应参数.响应参数示例等,可方便调用方快速了解接口信息 ...

  4. servlet之request和response的使用区分

    有的时候在写servlet程序时,我总是被一个方法该用request去调用.还是用response去调用而困惑.从而造成编程时间的延长. 我在区分request和response的使用时,使用的方法是 ...

  5. fedora25安装和docker-ce_清华源

    docker-ce_清华源 https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/fedora/ fedora25 docker-ce版本: htt ...

  6. spring+mybatis项目启动报错Initializing Spring root WebApplicationContext

    这个问题很怪异,各种各样的情况都会导致这个问题的出现,主要是由于sping加载读取配置文件的时候出了问题.我在处理mybatis的时候出现了这个问题,后来排查发现,在mybatis的配置文件中如果有大 ...

  7. EL表达式介绍(1)

    1. 产生背景: 在MVC体系结构中,JSP页面只是用来显示数据,但JSP脚本中的表达式功能不够强大,它不能直接对隐式对象中某对象的属性进行显示,需要配合 scriptlet才能显示数据,很是麻烦,如 ...

  8. hibernate学习系列-----(6)hibernate对集合属性的操作之Set集合篇

    先说一段废话吧,本打算每天把所学的知识总结为博客的,但是昨天为什么没有写呢?没有学习吗?No,那是为什么?贪玩,对,这位同学说对了,老实说昨天感觉身体不怎么舒服,大家都知道,这其实就是为自己懒找借口, ...

  9. 怎样改动SharePoint管理中心的语言

    在安装了语言包之后,创建站点集的时候,就能够选择语言了. 可是SharePoint管理中心的语言没有变.这个时候.怎么才干让管理中心也使用新的语言呢? 能够依照下面方法. 首先去https://msd ...

  10. CHAPTER ONE LOAD-BALANCING

    1.1 Synopsis In this part, we will explain how to create a load-balancer withnginxfor a lot of OpenE ...