Mac下改动Android Studio 所用的JDK版本号
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版本号的更多相关文章
- Android Studio 使用笔记:[转] Mac下修改Android Studio 所用的JDK版本
原文链接:http://www.jianshu.com/p/d8d1d72d0248# 最近项目从Eclipse+Ant构建模式转移到了Android Studio+Gradle构建模式,自然的JDK ...
- (转载)Mac下使用Android Studio 获取 SHA1和MD5
Mac下使用Android Studio 获取 SHA1和MD5 2015-08-10 15:38 1776人阅读 评论(1) 收藏 举报 分类: Android(14) 版权声明:本文为博主原创 ...
- mac 下安装android studio(转)
1)下载最新jdk8,下载android studio 2)安装jdk8,双击jdk8的安装包,将jdk8的安装包拖到Application,可能会出现这种问题:要求Mac OS X10.7.3或更高 ...
- mac下卸载android studio
Execute these commands from the terminal rm -Rf /Applications/Android\ Studio.app rm -Rf ~/Library/P ...
- 最全面的mac下的android studio快捷键
Action Mac OSX Win/Linux 注释代码(//) Cmd + / Ctrl + / 注释代码(/**/) Cmd + Option + / Ctrl + Alt + / 格式化代码 ...
- Mac 下查看 Android Studio 的 SHA1的方法
cmd -> ->cd .android ->keytool -v -list -keystore debug.keystore 默认口令:android ************* ...
- [Android Studio 权威教程]Windows下安装Android Studio
从AS 0.5版本号開始使用.也是AS的推行者,在ApkBus公布的第一篇Android Studio Perview 2 获得了50K的浏览,1800多条回复下载. 在我的[Android Stud ...
- 在Mac OS X下安装Android Studio
在Mac OS X下安装Android Studio只需要几步. 1. 下载Android Studio安装包(.dmg). 2. 打开Terminal输入java -version命令查看是否已安装 ...
- 【转载】菜鸟Ubuntu下安装Android Studio
原文:http://forum.android-studio.org/forum.php?mod=viewthread&tid=236&extra=page%3D1%26filter% ...
随机推荐
- MVC之国际化
MVC之国际化 前言 在项目中遇到国际化语言的问题是常有的事情,之前在做关于MVC国际化语言时,刚开始打算全部利用AngularJS来实现,但是渐渐发现对于页面Title难以去控制其语言转换,于是对于 ...
- Opencv各个版本的万能头文件
每次下载opencv的新版本时,都需要重新写头文件,更改链接库配置,很麻烦有木有?下面这个头文件是我在别人的代码中淘出来的,很不错,与大家分享~(具体作者忘记了,不好意思啊) 作者很巧妙地利用Open ...
- 字符串string和内存流MemoryStream及比特数组byte[]互转
原文:字符串string和内存流MemoryStream及比特数组byte[]互转 字符串string和内存流MemoryStream及比特数组byte[]互转比较 定义string变量为str, ...
- 日交易41.9亿,B2B的魅力为何不输于B2C、C2C?
在最近两年的电子商务版图中,B2C和C2C可谓大放异彩,相比之下,B2B却显得颇为“低调”,当然,低调并不代表没有影响力,只不过,相比B2C和C2C面向数亿网民而言,B2B只针对企业和商家服务 ...
- MATLAB——scatter的简单应用
scatter可用于描绘散点图. 1.scatter(X,Y) X和Y是数据向量,以X中数据为横坐标,以Y中数据位纵坐标描绘散点图,点的形状默认使用圈. 样例: X = [1:10]; Y = X ...
- 1-5html文件基本结构
认识html文件基本结构 1)这一节中我们来学习html文件的结构:一个HTML文件是有自己固定的结构的. <html> <head>...</head> < ...
- Activity数据传输到服务
activity数据接口负责启动该服务包.service获取数据.手术. 详细demo如下面: package com.example.android_service_trance; import a ...
- Java 模拟队列(一般队列、双端队列、优先级队列)
队列: 先进先出,处理类似排队的问题,先排的.先处理,后排的等前面的处理完了,再处理 对于插入和移除操作的时间复杂度都为O(1).从后面插入,从前面移除 双端队列: 即在队列两端都能够insert和r ...
- 一个有趣的swap函数
C语言版: void swap (int a, int b) { a = a ^ b; b = a ^ b; a = a ^ b; } 原理: a ^ a == 0 0 ^ b == b 异或:同则为 ...
- SurfaceView的一个小应用:开发示波器
SurfaceView与普通View还有一个重要区别:View的绘图必须在UI线程中进行,但SurfaceView不存在这个问题,因为它是由SurfaceHolder来完成的.所以对于View组件,如 ...