एंड्रॉइड स्टूडियो के लिए JDK कैसे सेट करें?


42

मैं एंड्रॉइड 2.1 के लिए एक डिफ़ॉल्ट नई परियोजना को संकलित नहीं कर सकता क्योंकि (?) एंड्रॉइड स्टूडियो द्वारा उपयोग किया जाने वाला JDK 1.7 JDK है लेकिन यह JDK 1.6 होना चाहिए।

इसे बदलने के लिए मैं फाइल -> प्रोजेक्ट स्ट्रक्चर पर जाता हूं और JDK 1.6 लोकेशन खोजने की कोशिश करता हूं ।

लेकिन जब मैं इसकी निर्देशिका का चयन करता हूं और प्रेस करता OKहूं तो मुझे निम्नलिखित त्रुटि मिलती है:

कृपया एक मान्य JDK निर्देशिका चुनें

कृपया एक मान्य JDK निर्देशिका चुनें

जैसा कि आप स्क्रीनशूट पर देख सकते हैं कि मैं जावा 6 ओपनजेडके 64-बिट्स को नए जेडीके के रूप में स्थापित करने की कोशिश कर रहा हूं।

मैं क्या कर सकता हूँ? क्या Android Studio OpenJDK के साथ संगत नहीं है और क्या मुझे इसके बजाय Oracle JDK का उपयोग करना चाहिए?


क्या आपने binफ़ोल्डर की कोशिश की है ?
लुइस माथिज्सेन

मैंने कोशिश की: ./bin| ./jre| ./jre/binसभी के लिए समान संदेश
लुसियो

1
मेरे लिए मुझे /jreनिर्देशिका संरचना में ऊपर दिए गए फ़ोल्डर का उपयोग करना था , इसलिए मेरा पथ है /usr/lib/jvm/java-8-oracleऔर नहीं /usr/lib/jvm/java-8-oracle/jre। मैंने मान लिया कि /jreडिफ़ॉल्ट पथ ("एम्बेडेड" JDK) के बाद से पथ समाप्त होना चाहिए , लेकिन यह पता चला कि यदि आप डिफ़ॉल्ट फ़ोल्डर में देखते हैं, तो यह "jre" नामक एक फ़ोल्डर है जिसमें "jre" नामक एक अन्य फ़ोल्डर है
जैक एम

जवाबों:


24

मैं Android स्टूडियो के साथ OpenJDK 7 का उपयोग कर रहा हूं और यह ठीक काम करता है। (मेरे पास फिलहाल Oracle JDK स्थापित नहीं है।)

कि स्क्रीन है कि आप दिखा रहे हैं पर (परियोजना संरचना -> एसकेडी स्थान) मैं निम्नलिखित पथ JDK स्थान : /usr/lib/jvm/java-1.7.0-openjdk-amd64


8

निरीक्षण करके studio.sh, आप भी में से एक सेट कर सकते हैं STUDIO_JDK, JDK_HOMEया JAVA_HOMEJDK स्थान पर बात करने के लिए वातावरण चर।


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"

तो आप बस उन्हें उपयुक्त के रूप में सेट कर सकते हैं और फिर स्टूडियो इसे उठाएगा।


यह विंडोज़ के लिए भी काम करता है। उपयोगी है अगर आपके पास JDA_HOME में डिफ़ॉल्ट रूप में DCEVM के साथ JDK है जो Android स्टूडियो के साथ काम नहीं करता है।
मट्टुस विसकरी

5

ऐसा लगता है कि Android Studio OpenJDK को मान्यता नहीं देता है, इसलिए मुझे OracleJDK को स्थापित करने की आवश्यकता है

तब मैं Oracle JDK के लिए रास्ता चुनता हूँ और यह काम करता है!


मैंने इसे स्थापित किया है, लेकिन इसके पथ चर को सेट करने में असमर्थ है। क्या आप मुझे बता सकते हैं कि मैं ऐसा कैसे कर सकता हूं?
नितेश वर्मा

1
हां, पहले यह सुनिश्चित कर लें कि java -versionआउटपुट आपके जावा संस्करण को सही ढंग से बनाता है । फिर, AS विंडो चुनें /usr/lib/jvm/jdk1.8.0/। उस पल मेरे लिए यह काफी था :-)
लुसियो

3

यह मेरे लिए काम किया:

  1. जावा निर्देशिका का पता लगाएं:

    $ echo $JAVA_HOME
    /usr/lib/jvm/java-7-oracle
  2. Android Studio खोलें और फिर फ़ाइल-> प्रोजेक्ट स्ट्रक्चर।

  3. एसडीके स्थान के तहत मैं ऊपर से जावा निर्देशिका को अतीत में रखता हूं
  4. कुछ सेकंड रुकें और मुझे "0 गलतियाँ 0 एडवरटाइजिंग 'मिलीं।"

इसने काम कर दिया! :)


2

मेरे द्वारा अनुसरण किए गए चरण:

  1. टर्मिनल खोला और दर्ज करें echo $JAVA_HOME

  2. टर्मिनल में प्रदर्शित पथ को कॉपी किया - उबंटू टर्मिनल में Ctrl+ Shift+ Cकॉपी

  3. एंड्रॉइड स्टूडियो में - प्रोजेक्ट स्ट्रक्चर - कॉपी किए गए पथ को पास्ट किया

  4. सेटिंग्स को पहचानने और अद्यतन करने के लिए सॉफ़्टवेयर की प्रतीक्षा की जा रही है

  5. इससे अमान्य Jdk सेटिंग की समस्या हल हो गई


1

यदि आपके पास ./binJDK और Android Studio वाला फ़ोल्डर है, तो आप टर्मिनल में STUDIO_JDKचलने से पहले चर सेट कर सकते हैं studio.sh:

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

0

मैंने इस समस्या को ठीक किया। मैं 2.1 और JDK1.7 का उपयोग करता हूं जबकि मुझे कुछ कार्यों के लिए JDK1.8 को अपडेट करने की आवश्यकता थी। मैं जावा सेटअप फ़ाइल डाउनलोड करता हूं। शायद मैंने केवल jre स्थापित किया है, लेकिन jdk नहीं। इसलिए हमेशा मुझे चेतावनी दें कि "कृपया एक वैध JDK निर्देशिका चुनें"। तो मुझे लगता है कि मेरे जैसे ही एक समस्या है कि आप एक JDK स्थापित करना चाहिए, लेकिन jre नहीं।


0

मुझे लगता है कि आपने उदाहरण के लिए jdk को कहीं और स्थापित किया होगा /usr/local/java। मेरे मामले में भी मैंने आपके स्क्रीनशॉट में दिखाई गई निर्देशिका में उसी फ़ोल्डर का नाम देखा।

तो बस जाँच करें कि क्या jdk कहीं और मौजूद है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.