Android编译错误Mac并存jdk1.7和jdk1.8

错误log

liuqiangs-MBP:WeiboSou liuqiang$ ./gradlew aR
Starting a new Gradle Daemon for this build (subsequent builds will be faster).
Parallel execution is an incubating feature.

FAILURE: Build failed with an exception.

* Where:
Build file '/Users/liuqiang/Workspace/Android/WeiboSou/app/build.gradle' line: 1

* What went wrong:
A problem occurred evaluating project ':app'.
> java.lang.UnsupportedClassVersionError: com/android/build/gradle/AppPlugin : Unsupported major.minor version 52.0

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 3.661 secs

错误截图

Android编译错误Mac并存jdk1.7和jdk1.8_第1张图片
屏幕快照 2016-11-14 19.13.17.png

问题描述

当时用AndroidStudio 时候,可以从图形化界面里面选择打包签名的apk,但是命令行就是不能用。搜索后发现原来是jdk版本的问题。在AndroidStudio中确实用的是jdk1.8而我电脑的环境变量配置的是jdk1.7

看StackOverflow 上的解释

知道原因就好说了,装个1.8的jdk就行了。

接下来的问题,如何同时存在jdk1.7和jdk1.8

  1. 平常开发主流版本还是java1.7,我用的是MacOS,jdk下载的是安装版本,安装在
    /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/目录下,要想同时存在两个那就下连个安装包,都装上。

  2. 但是如何快速切换呢?
    配置~/.bash_profile文件:
    $ vim .bash_profile

然后在文件中添加如下代码

#多版本jdk
export JAVA_7_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
export JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home
export JAVA_HOME=$JAVA_7_HOME
export PATH=${PATH}:${JAVA_HOME}

# 命令行别名的应用
alias jdk8='export JAVA_HOME=$JAVA_8_HOME'
alias jdk7='export JAVA_HOME=$JAVA_7_HOME'

然后想切换jdk版本,直接在命令行输入'jdk8'或者'jdk7' 就行了。

你可能感兴趣的:(Android编译错误Mac并存jdk1.7和jdk1.8)