Android Studio ต้องการ JDK 7 สำหรับ Android-L mac


130

ฉันพยายามมองว่าแอปของฉันมีลักษณะอย่างไรในดีไซน์ Material และฉันต้องการใช้การ์ดใหม่ lib ปัญหาของฉันคือมันทำให้ฉันมีข้อผิดพลาดนี้ในไฟล์ gradle ของฉันและฉันต้องแก้ไข

Error:compileSdkVersion android-L requires compiling with JDK 7

ฉันดาวน์โหลดjdk-7u60-macosx-x64.dmgและติดตั้งแล้ว java -versionใน Terminal แสดงให้ฉันเห็นว่าติดตั้ง 1.7 แล้ว:

java version "1.7.0_60"
Java(TM) SE Runtime Environment (build 1.7.0_60-b19)
Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)

ดี

ls -l `which java`

กำลังให้ฉัน:

/usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java

.../current/...ไม่มี.../home. ฉันพบที่.../homeนี่:

/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home

และกำหนดเส้นทางไปยังค่ากำหนด "ตำแหน่ง SDK" ใน Android Studio ภายใต้ "ตำแหน่ง JDK" แต่มันใช้ไม่ได้ - ดูเหมือนว่าจะยังหา JDK 7 ไม่เจอ

ฉันใช้ Mac OSX 10.9.3 และ Android Studio (เบต้า) 0.8.1


คุณมีการตั้งค่าคอมไพเลอร์เฉพาะที่บอกให้ใช้ Java 6 หรือไม่? (มีการตั้งค่า Eclipse บางอย่างเช่นนี้ไม่แน่ใจเกี่ยวกับ Studio)
hichris123

คำตอบ:


220

การตั้งค่าไดเรกทอรีเป็น: /Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home ในการตั้งค่า JDK ช่วยแก้ปัญหาของฉันได้ ฉันมีปัญหาเดียวกันในการเริ่มต้นใช้งาน หวังว่านี่จะช่วยได้!


13
ขอบคุณมาก! ไดเร็กทอรี JDK เก่าชี้ไปที่ System / Library / Java เป็นต้นพวกเขาเปลี่ยนเส้นทางการติดตั้งหรืออะไรบางอย่าง! ความช่วยเหลือที่ดี
Aiden Fry

4
สิ่งนี้ใช้ได้ผลสำหรับฉันเช่นกัน (หลังจากดาวน์โหลด JDK 7)

7
แต่วิธีการตั้งค่าไดเรกทอรีเป็น: /Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home? การตั้งค่า JDK อยู่ที่ไหน
Lijun Lou

ชื่อโฟลเดอร์เปลี่ยนไปและตอนนี้ชื่อโฟลเดอร์คือ jdk1.7.0_65.jdk :)
smartDonkey

4
รายละเอียดที่สำคัญ: ไดเร็กทอรีเก่าคือ / System / Library new dir is / Library
Ian

203

คำตอบของ @megapoff ถูกต้อง แต่ฉันประสบปัญหาเล็กน้อยในการแก้ไข นี่คือวิธีแก้ปัญหาโดยละเอียดทีละขั้นตอน

สำหรับ Mac

  1. ดาวน์โหลดไฟล์ DMG ของ JDK-7 จากที่นี่
  2. คลิกที่ DMG และปฏิบัติตามคำแนะนำ มันจะติดตั้งและกำหนดค่า JDK-7 บน mac
  3. ตอนนี้ในสตูดิโอ Android ของคุณไปที่ File-> Project Structure -> SDK Location
  4. ในตำแหน่ง JDKคลิกที่เรียกดูและไปที่/->Library->Java->JavaVirtualMachines->jdk1.7.0_60.jdk->Contents->Home

    หมายเหตุ: - มันไม่ใช่/System/Libraryมันเป็น/Library

  5. คลิกใช้และตกลง .... บิงโก ..... สร้างโครงการอีกครั้ง .....


22
สำหรับ OS X 10.10 (Yosemite) ต้องใช้ JDK 8u20 Early Access Release คุณสามารถดาวน์โหลดได้ที่นี่ ที่ตั้ง JDK จะเป็น/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home
bdurao

7
นี่คือสิ่งที่ได้ผลสำหรับฉัน ฉันกำลังมองหาใน / System / Library ไม่ใช่แค่ / Library
casraf

7
ขอบคุณมาก muuuch!. สิ่งนี้: หมายเหตุ: - ไม่ใช่ / ระบบ / ห้องสมุดมัน / ห้องสมุดทำให้วันของฉัน!
KinGPinG

เว็บไซต์ที่ดีเกี่ยวกับปัญหานี้ -> tools.android.com/tech-docs/configuration/osx-jdk
Plo_Koon

ขอบคุณ .. ฉันกำลังมองหาใน / System / Library แทนที่จะเป็น /Library .. ขอบคุณสำหรับความช่วยเหลือของคุณ
John

15

คำตอบอื่น ๆ นั้นถูกต้องมาก แต่ฉันต้องการให้กระชับและชัดเจนกว่านี้ เพื่อป้องกันไม่ให้ผู้อื่นเข้าชมหน้านี้หลายครั้งโดยไม่จำเป็น

สำคัญ * Old Path คือ / System / Library / Java ... และ New Path คือ / Library / Java ... (ไม่อยู่ภายใต้ไดเร็กทอรี System)

แทนที่เส้นทางเก่า: /System/Library/Java/JavaVirtualMachines/jdk1.6.0_0.jdk/Contents/Home

กำหนดเส้นทางใหม่ของคุณ: /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home


5

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

เปิดโครงการของคุณแล้วไปที่ไฟล์ -> การตั้งค่า

ภายใต้การตั้งค่าโครงการขยายคอมไพเลอร์และไปที่ตัวเลือก Java Compiler คุณต้องการใช้ javac และตั้งค่า project bytecode version เป็น 1.7

หวังว่าจะทำได้


0

สำหรับ jdk-7u79-macosx-x64.dmg เพียงแค่ตั้งค่าไดเรกทอรีเป็น /Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home

ไม่อยู่ใน /System/Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home

ทั้งสองอย่างแตกต่างกัน


0

แทนที่จะมองหาโฟลเดอร์ข้างใน: /System/Library/Java/JavaVirtualMachines/

ป้อนคำอธิบายภาพที่นี่

เราต้องพิจารณา:

/Library/Java/JavaVirtualMachines/

ป้อนคำอธิบายภาพที่นี่

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