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

@author ASCE1885

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

Unsupported major.minor version 51.0

因此须要把我们的Android Studioproject编译环境从JDK7降为JDK6。以下就是改动记录。

Mac系统JDK不同版本号的路径

默认情况下,Mac系统JDK不同版本号的默认安装文件夹有点区别,JDK6,JDK7和JDK8的 安装文件夹分别例如以下所看到的:

/System/Library/Java/JavaVirtualMachines/1.6.0.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环境变量。因此这里也要改动一下。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXNjZTE4ODU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" title="">

打开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

Mac下改动Android Studio 所用的JDK版本号的更多相关文章

  1. Android Studio 使用笔记:[转] Mac下修改Android Studio 所用的JDK版本

    原文链接:http://www.jianshu.com/p/d8d1d72d0248# 最近项目从Eclipse+Ant构建模式转移到了Android Studio+Gradle构建模式,自然的JDK ...

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

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

  3. mac 下安装android studio(转)

    1)下载最新jdk8,下载android studio 2)安装jdk8,双击jdk8的安装包,将jdk8的安装包拖到Application,可能会出现这种问题:要求Mac OS X10.7.3或更高 ...

  4. mac下卸载android studio

    Execute these commands from the terminal rm -Rf /Applications/Android\ Studio.app rm -Rf ~/Library/P ...

  5. 最全面的mac下的android studio快捷键

    Action Mac OSX Win/Linux 注释代码(//) Cmd + / Ctrl + / 注释代码(/**/) Cmd + Option + / Ctrl + Alt + / 格式化代码 ...

  6. Mac 下查看 Android Studio 的 SHA1的方法

    cmd -> ->cd .android ->keytool -v -list -keystore debug.keystore 默认口令:android ************* ...

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

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

  8. 在Mac OS X下安装Android Studio

    在Mac OS X下安装Android Studio只需要几步. 1. 下载Android Studio安装包(.dmg). 2. 打开Terminal输入java -version命令查看是否已安装 ...

  9. 【转载】菜鸟Ubuntu下安装Android Studio

    原文:http://forum.android-studio.org/forum.php?mod=viewthread&tid=236&extra=page%3D1%26filter% ...

随机推荐

  1. java学习笔记-Thread

    java定义了创建线程的两种方法 1.实现Runnable接口 2.扩展Thread类本身 1.实现Runnable接口: 可以依托任何Runnable接口的对象来创建线程.但是为了实现Runnabl ...

  2. C#反射Assembly 具体说明

    1.对C#反射机制的理解 2.概念理解后,必须找到方法去完毕,给出管理的主要语法 3.终于给出有用的样例,反射出来dll中的方法 反射是一个程序集发现及执行的过程,通过反射能够得到*.exe或*.dl ...

  3. SQL视图索引

    视图: 视图就相当于一个查询结果,它相对应的是表 表----真正存储数据的地方 视图---不存储数据,展示查询的结果 注意: 1.视图就是为了查询数据方便.一般不要试图向视图中插入数据,容易出错. 2 ...

  4. VCL改变主窗体的方法

    使用如下语句即可Pointer((@Application.MainForm)^) := Form1; 仔细想想和Pointer((Application.MainForm)) := Form1;有什 ...

  5. 依赖注入(DI)有助于应用对象之间的解耦,而面向切面编程(AOP)有助于横切关注点与所影响的对象之间的解耦(转good)

    依赖注入(DI)有助于应用对象之间的解耦,而面向切面编程(AOP)有助于横切关注点与所影响的对象之间的解耦.所谓横切关注点,即影响应用多处的功能,这些功能各个应用模块都需要,但又不是其主要关注点,常见 ...

  6. java学习笔记11--Annotation

    java学习笔记11--Annotation Annotation:在JDK1.5之后增加的一个新特性,这种特性被称为元数据特性,在JDK1.5之后称为注释,即:使用注释的方式加入一些程序的信息. j ...

  7. eclipse package,source folder,folder差别及相互转换

    在eclipse下, package, source folder, folder都是目录.   它们的差别例如以下:   package:当你在建立一个package时,它自己主动建立到source ...

  8. 用jsp写注冊页面

    包含单选框.多选框.session的应用,页面自己主动跳转,中文乱码的处理,入门级 对于中文乱码的处理,注意几点:注冊页面数据提交方式为post不能忘了写,页面编码方式为gbk,处理提交信息的doRe ...

  9. Cocos2d-x内存管理解说在ios开发中

    使用过 Cocos2d-x 都知道,其中有一套自己实现的内存管理机制,不同于一般 C++ 的编写常规,而在使用前,了解其原理是有必要的,网上已经有很多对内部实现详细解说的文章.而对于使用者而言,并不需 ...

  10. 10、ERP设计之系统基础管理(BS)- 平台化设计

    ShareERP 2013-09-03 ERP业务平台化是每个软件提供商必须要进行的趋势,传统定制化路线已死,不能走定制化的老路了.以往最大问的题是不能累积和沉淀技术及提升项目业务管理能力,其次是管理 ...