如何解決Unsupported major.minor version 52.0問(wèn)題?

今天運(yùn)行./gradlew :PandaAndroidDemo:release出現(xiàn)如下錯(cuò)誤:

FAILURE: Build failed with an exception.

* Where:
Build file '/Users/shitianci/work/Lab/panda.android/PandaAndroidDemo/build.gradle' line: 1

* What went wrong:
A problem occurred evaluating project ':PandaAndroidDemo'.
> 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

直接點(diǎn)擊 run按鈕 或者 Build→Generate Build APK 卻運(yùn)行正常。

這里面有兩個(gè)問(wèn)題:

  1. 為什么出現(xiàn)Unsupported major.minor version 52.0?
  2. 為什么gradle命令和android studio按鈕運(yùn)行結(jié)果不一樣?

問(wèn)題一:為什么出現(xiàn)Unsupported major.minor version 52.0

在網(wǎng)上找了一圈,最后在stackoverflow找到了本質(zhì)原因

You get this error because a Java 7 VM tries to load a class compiled for Java 8

Java 8 has the class file version 52.0 but a Java 7 VM can only load class files up to version 51.0

In your case the Java 7 VM is your gradle build and the class is com.android.build.gradle.AppPlugin

簡(jiǎn)單來(lái)說(shuō),就是java的編譯環(huán)境版本太低,java 8 class file的版本是52,Java 7虛擬機(jī)只能支持到51。所以需要升級(jí)到j(luò)ava 8 vm才行。

問(wèn)題二:為什么gradle命令和android studio按鈕運(yùn)行結(jié)果不一樣?

從問(wèn)題1來(lái)看,肯定Android Studio按鈕調(diào)用的是java 8 vm,所以查找一下系統(tǒng)配置,最終在Project Structure找到了如下設(shè)置:


Paste_Image.png

Android Studio 2.2.2使用了自帶的JDK環(huán)境,其地址為

/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home

而gradle命令的執(zhí)行環(huán)境是在gradle.properties配置的,其指向?yàn)椋?/p>

org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/home

將其修改為:

org.gradle.java.home=/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home

問(wèn)題解決。

參考:

  1. CircleCI Android Unsupported major.minor version 52.0
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容