ไม่รองรับ major.minor เวอร์ชัน 52.0 เมื่อแสดงผลใน Android Studio


106

เมื่อฉันพยายามแสดงตัวอย่างเค้าโครงใน Android Studio ฉันพบข้อผิดพลาด:

ไม่รองรับ major.minor เวอร์ชัน 52.0


คุณเลือกสถานะระบบปฏิบัติการและเวอร์ชัน Java อัปเดตเป็น Java เวอร์ชันใหม่กว่า หากใช้ Debian อย่าลืมใช้ Debian Stretch (8.9, Java 8) แทน Debian Jessie (8.1, Java 7)
jww

คำตอบ:


99

ตรวจสอบ .. ของคุณ JAVA_HOMEการใช้ jdk 1.8

ตรวจสอบด้วย: พารามิเตอร์ใน Android Studio เพื่อเปลี่ยนที่

ไฟล์ -> การตั้งค่าอื่น ๆ -> โครงสร้างโครงการเริ่มต้น -> SDK


4
สวัสดีฉันติดตั้ง jdk1.8 และ "เชื่อมโยง" ในโครงสร้างโครงการแล้ว แต่ปัญหายังคงเกิดขึ้น
Kotik_o

คำตอบของคุณดี แต่อาจเพิ่มเมื่อคุณเปิดโครงสร้างโครงการคุณจะเห็นภาพรวมของปัญหาปัจจุบันเช่นเวอร์ชัน JDK
jobbert

1
ขอบคุณ; เพียงแค่ติดตั้ง JDK 8 และตั้งค่าใน Default Project Structure ก็ใช้ได้สำหรับฉัน
pipedreambomb

1
บน OSX ฉันตั้งค่า JAVA_HOME เป็น / Applications / Android Studio.app/Contents/jre/jdk/Contents/Home เพื่อแก้ไขปัญหา
Zhang Buzz

ฉันพบว่าการตั้งค่าJAVA_HOMEไม่จำเป็น แต่ใช้File->Project Structureis. นอกจากนี้คุณสามารถตั้งค่าเป็น "ใช้ JDK แบบฝัง"
ThomasW

70

นี่คือข้อบกพร่องใน Android Studio โดยปกติคุณจะได้รับข้อผิดพลาด: ไม่รองรับ major.minor เวอร์ชัน 52.0

วิธีหลีกเลี่ยงปัญหา:หากคุณติดตั้ง Android N ให้เปลี่ยนเวอร์ชันการเรนเดอร์ Android ด้วยเวอร์ชันเก่ากว่าและปัญหาจะหายไป

วิธีแก้ไข:ติดตั้ง Android SDK Tools 25.1.3 (tools) หรือสูงกว่า

ใส่คำอธิบายภาพที่นี่


ฮ่า ๆ ๆ ง่ายแค่ไหน ?? และที่นี่ฉันคิดว่าฉันใช้เวลาหลายชั่วโมงในการวิจัยเพื่อแก้ไขข้อผิดพลาดนี้ .. / emote wipes brow
Jacksonkr

12
หน้าต่างแสดงตัวอย่างนี้อยู่ที่ไหน รายการเมนู View \ Tool Windows \ Preview ของฉันถูกปิดใช้งาน
Lorek

ฉันใช้ Eclipse 4.5.2 และ Android SDK Tools คือ 24.4.1 และ ADT คือ 23.0.7 ฉันมีข้อผิดพลาดเดียวกัน ควรแก้อย่างไร
Dr.jacky

@ Mr.Hyde คุณใช้ JDK 1.8 หรือเปล่า?
rm8x

คุณสามารถเจาะจงมากขึ้นได้ไหม ฉันจะเปลี่ยนได้อย่างไร? คำสั่งใด?
João Pimentel Ferreira

41

ฉันทำเสร็จแล้วตั้งค่า JAVA_HOME, JAVA8_HOME, ... และฉันก็มีข้อผิดพลาดเสมอ สำหรับฉันวิธีแก้ปัญหาคือการตั้งค่า gradle เวอร์ชัน 2.1.0 ให้ทำงานกับ Jdk 1.8.0_92 และ android studio 2.11

dependencies {
    classpath 'com.android.tools.build:gradle:2.1.0'
    //classpath 'com.android.tools.build:gradle:2.+'
}

1
ฉันใช้เวลา 2 ชั่วโมงในการแก้ปัญหานี้ คุณช่วยชีวิตฉัน!
Soohwan Park

ใช่! สิ่งนี้แก้ปัญหาให้ฉันได้เช่นกันไม่มีคำตอบอื่น ๆ ที่แนะนำได้ผล ฉันมีปัญหากับโปรเจ็กต์ที่มีอายุไม่กี่เดือนและเมื่อฉันพยายามเปิดมันบนคอมพิวเตอร์เครื่องใหม่ด้วย Android Studio ใหม่
Mattias Petter Johansson

ได้ผลสำหรับฉันขอบคุณ .. !! แต่ทำไมมันถึงเกิดข้อผิดพลาดกับฉัน ตาม classpath ฉันได้ตั้งค่า classpath 'com.android.tools.build:gradle:2.3.0-alpha2'
Parin Parikh

36

สำหรับพวกคุณที่ยังคงเผชิญกับสิ่งนี้ ฉันพบปัญหานี้หลังจากอัปเกรด Android Studio เป็น 2.1.2 ฉันติดอยู่ที่ปัญหานี้ประมาณหนึ่งชั่วโมงฉันลองวิธีแก้ปัญหาเหล่านี้:

  1. multidexEnabled จริง
  2. เพิ่มหน่วยความจำสำหรับเธรด deamon
  3. อัพเกรดเป็น Java 8

ฉันตรวจสอบสคริปต์ gradle อีกครั้งและพบสิ่งนี้:

 compileSdkVersion 23
 buildToolsVersion "24.0.0"

เปลี่ยนไปเป็น:

compileSdkVersion 23
buildToolsVersion "23.0.3"

ฉันไม่รู้ว่าสิ่งนี้ทำให้เกิดข้อผิดพลาดได้อย่างไร แต่นี่เป็นเคล็ดลับสำหรับฉัน โปรดแจ้งให้เราทราบว่าวิธีนี้ได้ผลอย่างไรหากคุณรู้คำตอบ ขอบคุณ


ขอบคุณ. สิ่งนี้ช่วยแก้ปัญหาที่ฉันรวบรวมโปรเจ็กต์ Android ของฉัน
stevehs17

การอัปเกรด Java 8 เป็นสิ่งที่ฉันต้องการ
rm8x

28

ไม่รองรับ major.minor เวอร์ชัน 52.0

เมื่อใช้ JDK ที่สูงกว่าสำหรับการคอมไพล์จะสร้างไฟล์คลาสที่มีเวอร์ชันที่สูงกว่าและเมื่อใช้ JDK ที่ต่ำกว่าเพื่อรันโปรแกรมพบว่าไฟล์คลาสเวอร์ชันที่สูงกว่าไม่รองรับที่ระดับ JVM และส่งผลเป็น java.lang.UnsupportedClassVersionError

วิธีแก้ไข

  • เพิ่มเวอร์ชัน JAVA ที่คุณใช้เพื่อรันโปรแกรมของคุณ

คุณสามารถทำตามเทคนิคบางอย่าง

  • เรียกเวอร์ชันเสถียร classpath 'com.android.tools.build:gradle:2.1.0' // 2.3.0

การกำหนดค่า Gradle

ในการเปิดใช้งานคุณลักษณะภาษา Java 8 และ Jack สำหรับโปรเจ็กต์ของคุณให้ป้อนสิ่งต่อไปนี้ในไฟล์ build.gradle ระดับโมดูลของคุณ:

android {
  ...
  defaultConfig {
    ...
    jackOptions {
      enabled true
    }
  }
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}

มารยาทไปที่คุณลักษณะภาษา Java 8

เพียงเลือก"API 23: Android 6.0"จากส่วนแสดงตัวอย่าง

ใส่คำอธิบายภาพที่นี่


@fantasy เหมืองยินดี
IntelliJ Amiya

ฉันต้องลดระดับการไล่ระดับสีและรวมตัวเลือกแจ็ค Java อย่างไรก็ตามฉันยังไม่เข้าใจว่าทำไมข้อผิดพลาดจึงเกิดขึ้นและจะแก้ไขอย่างไรในอนาคต ฉันอัปเดตทุกอย่างเป็นเวอร์ชันล่าสุดแล้ว: /
htafoya

25

หากคุณเห็นข้อผิดพลาดนี้และเพิ่งอัปเกรดเป็น Android Studio 2.2+ คุณต้องอัปเดต JDK ในตัวเลือก "โครงสร้างโครงการ"

ใน OSX File > Project Structure > SDKนี้จะอยู่ภายใต้ หรือจากหน้าจอต้อนรับในConfigure > Project Defaults > Project Structure.

เลือกUse the embedded JDK (recommended)ตัวเลือกแทนการใช้ JDK ของคุณเอง

เอกสารของ Google ยังไม่ได้รับการอัปเดตเพื่อแสดงถึงการเปลี่ยนแปลงนี้ ดู: http://tools.android.com/tech-docs/configuration/osx-jdk


7

กรณีของฉันฉันต้องเปลี่ยนการอ้างอิงของbuild.gradleไฟล์เป็น:

dependencies { 
    classpath 'com.android.tools.build:gradle:2.1.0'
}

(เดิมคือ2.2.2 ) ฉันเดาว่าสิ่งนี้ถูกสร้างขึ้นโดยการรับคนหลายคนที่ทำงานในโปรเจ็กต์เดียวกันที่มี gradle เวอร์ชันต่างๆ ดังนั้นตรวจสอบเวอร์ชัน gradle ของคุณและแก้ไขไฟล์นี้อย่างถูกต้อง

รู้สึกดี!


7

ด้วยเวอร์ชันล่าสุดขอแนะนำให้คุณเปลี่ยนไปใช้ JDK แบบฝังในรูปด้านล่างและวิธีนี้จะช่วยแก้ข้อผิดพลาดของคุณ

แก้ไขข้อผิดพลาด major.minor เวอร์ชัน 52.0


ฉันไม่ได้ใส่ใจกับการเล่นตลกกับ SDK และ JDK เวอร์ชันต่างๆที่แนะนำที่นี่ แต่กำลังจะทำเช่นนั้นและค้นพบตัวเลือก "ใช้ JDK แบบฝัง" ซึ่งได้ผล ฉันจะโพสต์วิธีแก้ปัญหานั้นและเห็นของคุณ นี่ควรเป็นวิธีแก้ปัญหาที่ถูกต้อง IMHO
David Gish

เหมือนกันกับ @DavidGish วิธีนี้ตอกมัน
Jeremy Piednoel

4

ฉันยังได้รับข้อความแสดงข้อผิดพลาดเดียวกันของ ' Unsupported major.minor version 52.0 ' เมื่อเรียกใช้. /gradlew makeJar เพื่อสร้างคลัง jar โดย Android Studio 2.2.3

หลังจากย้ายปลั๊กอิน gradle ใน build.gradle จาก 2.2.2 เป็น2.1.3แล้วข้อความแสดงข้อผิดพลาดก็หายไปและทั้งหมดทำงานได้ดี classpath 'com.android.tools.build:gradle: 2.1.3 '

ฉันไม่รู้ว่าปลั๊กอิน gradle เวอร์ชันที่สูงกว่าทำให้เกิดข้อผิดพลาดได้อย่างไร แต่นี่เป็นเคล็ดลับสำหรับฉัน โปรดแจ้งให้เราทราบว่าวิธีนี้ทำงานอย่างไรหากคุณรู้คำตอบขอบคุณ


ขอบคุณมากที่ชี้ให้เห็น 2.1.3 มันช่วยแก้ปัญหาของฉันได้!
artman

4

1 ตรวจสอบให้แน่ใจว่าGradle Gradle JVM Version ใส่คำอธิบายภาพที่นี่

2 ตรวจสอบให้แน่ใจว่าProjectSettings SDKs Veriosn ใส่คำอธิบายภาพที่นี่


3

สำหรับฉันการอัปเดต Android Studio เป็นเวอร์ชันล่าสุดช่วยแก้ปัญหาได้


3

ฉันพยายามหาวิธีแก้ไขปัญหานี้ฉันลองใช้วิธีแก้ปัญหาส่วนใหญ่ที่กล่าวถึงในหัวข้อนี้ อย่างไรก็ตามฉันไม่แน่ใจมากนักว่าเหตุใดจึงเกิดเหตุการณ์นี้ขึ้น น่าจะเป็นข้อบกพร่องใน Android Studio อย่างไรก็ตามนี่คือสิ่งที่ช่วยแก้ปัญหา:

ในระดับแอปพลิเคชัน build.gradle ลบออก:

  classpath 'com.android.tools.build:gradle:2.2.0-beta1'

แทนที่ด้วย:

classpath 'com.android.tools.build:gradle:2.0.0'

2

สิ่งนี้เกิดขึ้นเนื่องจากเวอร์ชัน Java ที่เข้ากันไม่ได้ที่คุณใช้ใน android studio และเวอร์ชัน java ที่ใช้กับโปรเจ็กต์ที่คุณนำเข้า ไปที่ File->Project structure->Change jdk 1.7 to jdk 1.8หลังจากนั้นไปที่File->click on Invalidate cacheและรีสตาร์ท หวังว่านี่จะช่วย ..

และเปลี่ยนคลาสพา ธ การพึ่งพาในไฟล์ gradle

dependencies {
    classpath 'com.android.tools.build:gradle:2.2.3'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}

1

การเปลี่ยนเป็น Java SDK เป็น Java 8 ใช้ได้ผลสำหรับฉัน การตั้งค่า Android Studio: ไฟล์ -> การตั้งค่าอื่น ๆ -> โครงสร้างโปรเจ็กต์เริ่มต้น -> ตำแหน่ง JDK -> jdk1.8.0_71.jdk / Contents / Home


1

ตรวจสอบให้แน่ใจว่าได้ทำการสร้างใหม่ทั้งหมดหลังจากเปลี่ยนเวอร์ชันของ Java ดูเหมือนว่า Android Studio จะทำงานบางอย่างเมื่อคุณเปลี่ยน JDK แต่ไม่ได้ทำความสะอาดพื้นที่ทำงานและสร้างความสับสน¯\_(ツ)_/¯


1

ข้อผิดพลาด "Unsupported major.minor version 52.0" อ้างถึงคอมไพเลอร์ java แม้ว่าสตริง "major.minor" จะดูคล้ายกับรูปแบบเวอร์ชัน Android SDK มาก

บนแพลตฟอร์ม Windows นอกเหนือจากการอัปเดต jdk เป็น 1.8 ตรวจสอบให้แน่ใจว่า JAVA_HOME ชี้ไปที่ตำแหน่งที่ติดตั้ง jdk 1.8 ของคุณ (เช่น C: \ Program Files \ Java \ jdk1.8.0_91)


1

ผมต้องอัปเดตเวอร์ชัน Java เพื่อ JDK 8 ในJenkins-> จัดการ Jenkins-> เครื่องมือทั่วโลก Configuration->


1

เปลี่ยนเป็น Java SDK เป็น Java 8 และใช้ได้ผลสำหรับฉัน

การตั้งค่า Android Studio:

ไฟล์> การตั้งค่าอื่น ๆ > โครงสร้างโปรเจ็กต์เริ่มต้น> ตำแหน่ง JDK> jdk1.8.0_71.jdk / Contents / Home ใส่คำอธิบายภาพที่นี่


ฉันทำคำตอบของ @intellij amiya เป็นครั้งแรกจากนั้นต้องทำสิ่งนี้เพื่อให้มันใช้งานได้จริงขอบคุณ!
Peter P.

1

Android Studio ทำงานแปลก ๆ ในกรณีนี้ แม้ว่าคุณจะตั้งค่าเวอร์ชัน JDK ในไฟล์ -> โครงสร้างโครงการ -> ตำแหน่ง SDK แต่ Android Studio จะใช้สิ่งนี้ในการรวบรวมไฟล์เท่านั้น เมื่อเรียกใช้ไฟล์เหล่านี้ด้วยเหตุผลบางประการให้ดูที่ตัวแปร PATH เพื่อค้นหาตำแหน่งที่ติดตั้ง java

หากคุณมี java เวอร์ชันเก่าที่ติดตั้งไว้ในระบบของคุณตัวแปร PATH ของคุณจะชี้ไปที่ java เวอร์ชันเก่า

ดังนั้นคุณต้องตั้งค่า PATH ให้ชี้ไปที่จาวาเวอร์ชันเดียวกับที่ตั้งค่าไว้ในการตั้งค่าโปรเจ็กต์สตูดิโอ Android ของคุณ

ใน ~ / .bashrc หรือไฟล์โปรไฟล์ที่เกี่ยวข้องให้เพิ่มสิ่งนี้:

ส่งออก PATH = "/ Applications / studio.app / Contents / jre / jdk / Contents / Home / bin: $ PATH"

ในกรณีของฉันโครงการของฉันถูกกำหนดค่าให้ใช้ java 1.8 แต่การติดตั้ง java ทั้งระบบของฉันคือ java 1.7 นี่เป็นสาเหตุของปัญหา


0

สำหรับกรณีของฉันAndroid SDK Build-toolsเวอร์ชันดั้งเดิมของฉันคือ 24 และAndoid SDK Toolsเวอร์ชันคือ 25.1.7 ฉันติดตั้งAndroid SDK Build-tools version 23.0.3โดย Andoird SDK manager

แก้ไข 2 บรรทัดนี้เป็น:

buildToolsVersion "23.0.3" compileSdkVersion 24

แล้วมันได้ผล!



0

นอกจากนี้หากปัญหาปรากฏขึ้นขณะดำเนินการ./gradlewคำสั่งการตั้งค่า java home ในgradle.propertiesไฟล์จะแก้ปัญหานี้:

org.gradle.java.home=/usr/java/jdk1.8.0_45/


0

สำหรับฉันปัญหาคือเวอร์ชันของ gradle ใน build.gradle ไม่เหมือนกับเวอร์ชัน gradle จริงที่ฉันติดตั้ง

dependencies { classpath('com.android.tools.build:grade:2.2.0') { force = true}

ตรวจสอบเวอร์ชัน gradle ที่ติดตั้งไว้ที่ / Contents / gradle / m2repository / com / android / tools / build / gradle / และเปลี่ยนไฟล์ build.gradle ด้านบนด้วย

classpath('com.android.tools.build:grade:1.5.1') หรือ <>


0

ฉันได้รับข้อผิดพลาดเดียวกันและฉันตั้งค่า JDK 8 เป็น JAVA_HOME ปรากฎว่าฉันติดตั้ง Android SDK Build-tools rev 25.0.2 แล้ว ฉันลบสิ่งนี้ออกและติดตั้ง 23.0.2 แทนและมันก็ใช้ได้สำหรับฉัน


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.