«Android SDK installation doesn't find JDK» — परिचित दर्द?
\nआप Android के लिए विकास वातावरण सेट करने का प्रयास कर रहे हैं, SDK स्थापना शुरू करते हैं, और जवाब में सन्नाटा? या, इससे भी बुरा, एक लाल त्रुटि: «Android SDK installation doesn't find JDK»। यदि आपने कभी इस वाक्यांश को गूगल किया है, तो आप जानते हैं: Stack Overflow पर इस समस्या के लिए हज़ारों व्यूज़ और दर्जनों उत्तर हैं।
\nऐसा क्यों होता है? आपने JDK डाउनलोड किया, स्थापित किया, और सिस्टम इसे लगातार नहीं देखता। इस लेख में, हम केवल कारणों का विश्लेषण नहीं करेंगे, बल्कि Java में कोड के वास्तविक उदाहरणों के साथ दिखाएंगे कि वातावरण को सही तरीके से कैसे कॉन्फ़िगर करें ताकि Android SDK अंततः JDK के साथ काम करे।
\nहम PythonLib टीम हैं, और यद्यपि हमारे नाम में Python है, हम जानते हैं कि Java Android विकास की नींव है। आज की सामग्री उन सभी के लिए उपयोगी होगी जो इस सिरदर्द को हमेशा के लिए हल करना चाहते हैं।
\n\nAndroid SDK JDK क्यों नहीं देखता? तीन मुख्य कारण
\nकोड में जाने से पहले, आइए दुश्मन को पहचानें। «Android SDK installation doesn't find JDK» त्रुटि अक्सर तीन चीज़ों के कारण होती है:
\n- \n
- JDK का गलत पथ — इंस्टॉलर को पता नहीं है कि Java कहाँ खोजना है। \n
- JAVA_HOME पर्यावरण चर का अभाव — Android SDK इस पर निर्भर करता है। \n
- संस्करण विरोध — आपने 32-बिट JDK स्थापित किया, जबकि सिस्टम 64-बिट है, या इसके विपरीत। \n
सबसे निराशाजनक बात यह है कि भले ही आपने इंस्टॉलर में मैन्युअल रूप से पथ निर्दिष्ट किया हो, त्रुटि वापस आ सकती है। क्यों? क्योंकि Android SDK न केवल स्पष्ट पथ बल्कि पर्यावरण चर भी जाँचता है। आइए प्रत्येक मामले को उदाहरणों के साथ समझें।
\n\nचरण 1: जाँचें कि JDK स्थापित है या नहीं
\nकुछ भी कॉन्फ़िगर करने से पहले, सुनिश्चित करें कि JDK वास्तव में मौजूद है। टर्मिनल (कमांड लाइन) खोलें और Java पर एक सरल कमांड चलाएँ:
\njava -version\nयदि आप कुछ इस तरह देखते हैं:
\njava version "17.0.2" 2022-01-18 LTS\nJava(TM) SE Runtime Environment (build 17.0.2+8-LTS-86)\nJava HotSpot(TM) 64-Bit Server VM (build 17.0.2+8-LTS-86, mixed mode)\nसब ठीक है — JDK स्थापित है। यदि कमांड नहीं मिलती है, तो समस्या गहरी है। आपको Oracle की आधिकारिक वेबसाइट से JDK डाउनलोड करना होगा या OpenJDK का उपयोग करना होगा। Android विकास के लिए संस्करण 11 या 17 अनुशंसित है।
\n\nकोड उदाहरण: Java के अंदर से संस्करण जाँच
\nयदि आप एक Java स्क्रिप्ट लिख रहे हैं जो वातावरण की जाँच करती है, तो आप अंतर्निहित System वर्ग का उपयोग कर सकते हैं:
public class CheckJavaVersion {\n public static void main(String[] args) {\n String version = System.getProperty("java.version");\n String home = System.getProperty("java.home");\n System.out.println("Java version: " + version);\n System.out.println("Java home: " + home);\n }\n}\nयह कोड स्थापित Java का संस्करण और पथ प्रदर्शित करेगा। यदि java.home jre फ़ोल्डर की ओर इशारा करता है, न कि jdk की ओर, तो यह त्रुटि का कारण हो सकता है — Android SDK को JDK की आवश्यकता है, JRE की नहीं।
चरण 2: JAVA_HOME पर्यावरण चर सेट करना
\nयह Stack Overflow पर सबसे आम सलाह है, और यह काम करता है। JAVA_HOME चर को JDK के मूल फ़ोल्डर की ओर इशारा करना चाहिए, न कि bin या jre फ़ोल्डर की ओर।
यह कैसे करें?
\n- \n
- Windows: कंट्रोल पैनल → सिस्टम → उन्नत सिस्टम सेटिंग्स → पर्यावरण चर। एक नया सिस्टम चर
JAVA_HOMEबनाएँ जिसका मान हो, उदाहरण के लिए:C:\\Program Files\\Java\\jdk-17। \n - macOS/Linux: फ़ाइल
~/.bashrcया~/.zshrcसंपादित करें और पंक्ति जोड़ें:export JAVA_HOME=/usr/lib/jvm/jdk-17। \n
इसके बाद टर्मिनल को पुनरारंभ करें और जाँचें:
\necho %JAVA_HOME% # Windows के लिए\necho $JAVA_HOME # macOS/Linux के लिए\n\n