2017-06-23 24 views
-1

構建,但命令行未能建立的gradle的Android打造命令行錯誤:UnsupportedClassVersionError機器人工作室的作品裏面

> gradlew tasks 

java.lang.UnsupportedClassVersionError: 
com/android/build/gradle/AppPlugin : Unsupported major.minor version 52.0 

應用的build.gradle

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 25 
    buildToolsVersion "25.0.2" 
    defaultConfig { 
     applicationId "com.example.android" 
     minSdkVersion 19 
     targetSdkVersion 25 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 

} 

apply plugin: 'com.android.application'導致錯誤的代碼行。 major.minor version 52.0從哪裏來?

+0

@NileshRathod應該如何幫助?這個問題在AS **中討論了失敗**,這個問題是關於在命令行**上失敗**的。 – Vampire

回答

1

修正你的JAVA_HOME變量。

該錯誤表示存在用Java 8(52.0)編譯的類,您嘗試使用較舊的Java版本。

當您使用Android Studio時,顯然使用Java 8來運行Gradle,但是當您使用命令行中的Gradle包裝器時,將使用JAVA_HOME的值執行Gradle。

這是設置爲Java 7或更早版本的機器,因此只要它嘗試使用Java 8編譯的Java類(在您的情況下是Android Gradle插件的一部分),構建就會失敗。

+0

com/android/build/gradle/AppPlugin是用Java8編譯的嗎?或者它可以是一個用Java 8編譯的依賴jar?所有依賴jar都來自遠程倉庫(jcenter,maven,google)。如何弄清楚用Java8編譯哪個jar? JAVA_HOME指向我的電腦上的Java 7。謝謝。 – eastwater

+0

Android現在是否支持Java 8?如果是,我想使用Java 8進行命令行構建。 – eastwater

+0

是的,它現在甚至需要Java 8。它正是來自用Java 8編譯的錯誤消息中的類「com.android.build.gradle.AppPlugin」。只需相應地設置您的'JAVA_HOME',一切都很好。 – Vampire

0

確保gradle這個插件是最新的:

 classpath 'com.android.tools.build:gradle:2.3.3' 
+0

已經是最新的了。 – eastwater

+0

@eastwater你嘗試失效緩存並重新啓動 –

+0

無效緩存android工作室內?錯誤來自命令行構建。 – eastwater

相關問題