จะตั้งค่า JDK สำหรับ Android Studio ได้อย่างไร?


42

ฉันไม่สามารถรวบรวมโครงการใหม่เริ่มต้นสำหรับ Android 2.1 เพราะ (?) JDK ที่ใช้โดย Android Studio คือ JDK 1.7 แต่ควรเป็น JDK 1.6

หากต้องการเปลี่ยนฉันไปที่ไฟล์ -> โครงสร้างโครงการและลองค้นหาตำแหน่ง JDK 1.6

แต่เมื่อฉันเลือกไดเรกทอรีและกดOKฉันได้รับข้อผิดพลาดต่อไปนี้:

โปรดเลือกไดเรกทอรี JDK ที่ถูกต้อง

โปรดเลือกไดเรกทอรี JDK ที่ถูกต้อง

อย่างที่คุณเห็นบนหน้าจอผมกำลังพยายามตั้ง Java 6 OpenJDK 64- บิตเป็น JDK ใหม่

ฉันควรทำอย่างไร Android Studio เข้ากันไม่ได้กับ OpenJDK และฉันควรใช้ Oracle JDK แทนหรือไม่


คุณลองbinโฟลเดอร์แล้วหรือยัง?
Louis Matthijssen

ฉันพยายามด้วย: ./bin| ./jre| ./jre/binข้อความเดียวกันสำหรับทุกคน
Lucio

1
สำหรับฉันฉันเพิ่งมีการใช้โฟลเดอร์ดังกล่าวข้างต้น/jreในโครงสร้างไดเรกทอรีดังนั้นเส้นทางของฉันคือไม่/usr/lib/jvm/java-8-oracle /usr/lib/jvm/java-8-oracle/jreผมถือว่าเส้นทางที่ควรจะจบใน/jreตั้งแต่เส้นทางเริ่มต้น (ที่ "ฝัง" JDK) ไม่ แต่มันกลับกลายเป็นถ้าคุณไปดูในโฟลเดอร์เริ่มต้นมันเป็นโฟลเดอร์ที่เรียกว่า "JRE" ซึ่งประกอบด้วยโฟลเดอร์อื่นที่เรียกว่า "JRE"
Jack M

คำตอบ:


24

ฉันใช้ OpenJDK 7 กับ Android Studio และใช้งานได้ดี (ฉันยังไม่ได้ติดตั้ง Oracle JDK ในขณะนี้)

บนหน้าจอที่คุณจะแสดง (โครงสร้างโครงการ -> SKD สถานที่) ฉันมีเส้นทางต่อไปนี้สำหรับสถานที่ตั้ง JDK/usr/lib/jvm/java-1.7.0-openjdk-amd64 :


8

โดยการตรวจสอบstudio.shนอกจากนี้คุณยังสามารถตั้งค่าหนึ่งSTUDIO_JDK, JDK_HOMEหรือJAVA_HOMEตัวแปรสภาพแวดล้อมที่จะชี้ไปที่สถานที่ตั้ง JDK


studio.shตรวจสอบSTUDIO_JDK, JDK_HOMEและJAVA_HOMEตัวแปรสภาพแวดล้อมในการสั่งซื้อ:

if [ -n "$STUDIO_JDK" -a -x "$STUDIO_JDK/bin/java" ]; then
  JDK="$STUDIO_JDK"
elif [ -n "$JDK_HOME" -a -x "$JDK_HOME/bin/java" ]; then
  JDK="$JDK_HOME"
elif [ -n "$JAVA_HOME" -a -x "$JAVA_HOME/bin/java" ]; then
  JDK="$JAVA_HOME"

ดังนั้นคุณสามารถตั้งค่าได้ตามความเหมาะสมจากนั้น Studio จะไปรับมัน


มันใช้งานได้กับหน้าต่างด้วย มีประโยชน์ถ้าคุณมี JDK ที่มี DCEVM เป็นค่าเริ่มต้นใน JAVA_HOME ซึ่งไม่สามารถใช้งานได้กับ android studio
Mateus Viccari

5

มันดูเหมือนว่า Android สตูดิโอไม่รู้จัก OpenJDK ดังนั้นผมจึงจำเป็นต้องติดตั้ง OracleJDK

จากนั้นฉันเลือกเส้นทางไปยัง Oracle JDK และใช้งานได้!


ฉันติดตั้งแล้ว แต่ฉันไม่สามารถตั้งค่าตัวแปรพา ธ ได้ คุณกรุณาบอกฉันว่าฉันจะทำอย่างไร
Nitesh Verma

1
ใช่, เป็นครั้งแรกให้แน่ใจว่าjava -versionการส่งออกอย่างถูกต้องของคุณJava รุ่น จากนั้นในหน้าต่าง AS /usr/lib/jvm/jdk1.8.0/เลือก นั่นก็เพียงพอแล้วสำหรับฉันในขณะนั้น :-)
Lucio

3

สิ่งนี้ใช้ได้กับฉัน:

  1. ค้นหาไดเรกทอรี java:

    $ echo $JAVA_HOME
    /usr/lib/jvm/java-7-oracle
  2. เปิด Android Studio จากนั้นไฟล์ -> โครงสร้างโครงการ

  3. ในSDK Locationฉันผ่านไดเรกทอรี java จากด้านบน
  4. รอสองสามวินาทีและฉันได้รับ "0 errores 0 advertencias"

มันได้ผล! :)


2

ขั้นตอนที่ฉันติดตาม:

  1. เปิดเทอร์มินัลแล้วป้อน echo $JAVA_HOME

  2. คัดลอกพา ธ ที่แสดงในเทอร์มินัล - Ctrl+ Shift+ Cคัดลอกในเทอร์มินัล Ubuntu

  3. ใน Android studio - โครงสร้างโครงการ - วางเส้นทางที่คัดลอก

  4. รอให้ซอฟต์แวร์ทำการจดจำและอัปเดตการตั้งค่า

  5. วิธีนี้แก้ไขปัญหาการตั้งค่า Jdk ไม่ถูกต้อง


1

หากคุณมี./binโฟลเดอร์ที่มี JDK และ Android Studio คุณสามารถตั้งค่าSTUDIO_JDKตัวแปรก่อนเรียกใช้studio.shในเทอร์มินัล:

STUDIO_JDK=./bin/jdk/ ./bin/android-studio/bin/studio.sh

0

ฉันแก้ไขปัญหานี้แล้ว ฉันใช้ AS 2.1 และ JDK1.7 ในขณะที่ฉันต้องการอัปเดต JDK1.8 สำหรับบางฟังก์ชั่น ฉันดาวน์โหลดไฟล์ติดตั้ง java บางทีฉันอาจติดตั้ง jre แต่ไม่ใช่ jdk ดังนั้นโปรดเตือนฉันเสมอว่า "โปรดเลือกไดเรกทอรี JDK ที่ถูกต้อง" ดังนั้นฉันจึงเดาว่าปัญหาของผู้ถามเหมือนกับฉันว่าคุณควรติดตั้ง JDK แต่ไม่ใช่ jre


0

ผมคิดว่าคุณอาจจะมีการติดตั้ง JDK /usr/local/javaที่อื่นสำหรับเช่น ในกรณีของฉันฉันเห็นชื่อโฟลเดอร์เดียวกันในไดเรกทอรีที่แสดงในภาพหน้าจอของคุณ

ดังนั้นเพียงแค่ตรวจสอบว่า jdk มีอยู่ที่อื่น

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