त्रुटि: compileSdkVersion Android-21 को JDK 7 के साथ संकलन की आवश्यकता है


106

संकलन करते समय मुझे त्रुटि मिलती है Error:compileSdkVersion android-21 requires compiling with JDK 7, यह कहते हुए कि जेडीके के एक नए संस्करण की आवश्यकता है।

मैं Android X v0.8.14 के साथ OS X Yosemite पर चल रहा हूं

जिन चीजों की मैंने जाँच की:

  1. जावा संस्करण:

java version "1.8.0_25" Java(TM) SE Runtime Environment (build 1.8.0_25-b17) Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)

  1. JavaVirtualMachine फ़ोल्डर के अंदर मैं केवल 1.6.0.jdkफ़ोल्डर देख सकता हूं, मुझे कोई अन्य फ़ोल्डर नहीं मिल सकता है।

  2. JDk 8 और 7 को पुन: स्थापित करने की कोशिश की!

मैं jvm 1.8 के फ़ोल्डर स्थान को खोजने में असमर्थ हूं, किसी भी विचार से कि मैं वहां कैसे ठीक कर सकता हूं।


मुझे भी यही समस्या आ रही है। क्या आपको इसका हल मिल गया है?
gsueagle2008

@ EricCumbee Jdk 7 का उपयोग करके जैसा कि नीचे दिखाया गया है इस मुद्दे को हल किया गया।
अर्जुन कोमाथ

4
यह बेतुका है कि यह पहला अनुभव है।
एंडी

जवाबों:


224

इस समस्या के लिए सटीक समाधान (मैक पर Android स्टूडियो उपयोगकर्ता)

यदि आपने पहले ही Java 8 में अपग्रेड कर लिया है, तो कृपया ध्यान दें कि JDK लोकेशन अब /Library/JavaJava 6 के स्थान की तुलना में है /System/Library/Java। तो इस समस्या को दूर करने के लिए, सही पर क्लिक करें Project folder> Project Structure>SDK Location.

फिर JDK स्थान को बदल दें

/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home

यदि आपने एक अलग JDK संस्करण (जावा 8 के अलावा) स्थापित किया है, तो java_homeपहले स्क्रिप्ट का उपयोग करके पथ का पता लगाएं और आउटपुट का उपयोग करें। बस दौडो,

/usr/libexec/java_home 

10
धन्यवाद @Subin फॉर एंड्रॉइड स्टूडियो 1.0.1 एसडीके स्थान स्थित है File > Project Structureया बस हिट हैCommand + ;
हुसाम

1
Android स्टूडियो के उपयोगकर्ताओं के लिए एकदम सही उत्तर .. मुझे बचाया
reidisaki

नीचे उल्लिखित पथ ने मेरे लिए काम किया /Library/Java/JavaVirtualMachines/jdk1.7.0.0_75.jdk/Contents/Home
Teja Swaroop

2
मैं गंभीरता से अपने स्थान को देखता रहा और सोचता रहा कि यह ठीक है लेकिन बस jdk1.6 को तब तक देखता रहा जब तक मुझे एहसास नहीं हो गया कि आप का क्या मतलब है आप / System / Library / Java के बजाय / Library / Java में हैं जहाँ मुझे आसानी से jdk1 मिल गया। 8 सामग्री / घर और बूम पाने के लिए, अब एंड्रॉइड स्टूडियो निरंतर त्रुटियों के बिना काम करता है। आप संत हैं!
ColossalChris

1
यह विंडोज के लिए भी काम करता है! बस JDK इंस्टॉलेशन की ओर इशारा करें। उदाहरण:C:\Program Files\Java\jdk1.8.0_51
ADTC

29

वास्तव में मुझे सिर्फ समाधान मिला - JDK 7 /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home में है।

यह मेरे लिए काम कर गया। Oracle डॉक्स जहां पर JDK7 स्थापित है


2
मैं यह फ़ोल्डर नहीं देख सकता! मेरा यह फ़ोल्डर केवल दिखाता है1.6.0.jdk
अर्जुन कोमाथ

मुझे याद नहीं है कि एंड्रॉइड स्टूडियो शुरू में कहां देख रहा था, लेकिन 1.7 JDK फ़ोल्डर 1.6.0jdk के समान निर्देशिका ट्री में नहीं था।
gsueagle2008

6
@ अर्जुन को तुम्हारी तरह ही भ्रम हो गया। लेकिन तब मुझे एहसास हुआ कि JDK 7 की "Java" निर्देशिका वास्तव में मेरे JDK 6/Library/Java/System/Library/Java
akhy

सादे अंग्रेजी में, आपने वास्तव में इस मुद्दे को ठीक करने के लिए क्या किया?
JGallardo

{ROOT} /Library/Java/JavaVirtualMachines/jdk1.7.0.0_71.jdk/
gsueagle2008

10

मुझे एक उपाय सूझा। यह मेरे साथ भी हुआ और मैंने Google पर बहुत खोज की लेकिन मुझे जो कुछ मिला वह संकेत था। बहुत सारे संकेत। और मैं एक निश्चित शॉट समाधान के साथ आया था।

ऐसा इसलिए है क्योंकि कंप्यूटर में JDK 7 (या अधिक) स्थापित नहीं है। AS / कॉन्फ़िगरेशन में JDK निर्देशिका JDK6 को इंगित कर सकती है। (वह प्रणाली / पुस्तकालय / ...)

आपको बस इतना करना है:

  1. नवीनतम JDK डाउनलोड करें।
  2. इसे स्थापित करो।
  3. पॉइंट एंड्रॉइड स्टूडियो / कॉन्फिगर / प्रोजेक्ट डिफॉल्ट्स / प्रोजेक्ट स्ट्रक्चर / (JDK लोकेशन:) टू / लाइब्रेरी / जावा / JavaVirtualMachines / jdk1.8.0_25.jdk / Contents / Home

बोल्ड-इटैलिक्स में हाइलाइट किए गए टेक्स्ट में अंतर हो सकता है, इसलिए यह अनुशंसा की जाती है कि आप इसे ब्राउज़ करें। उम्मीद है की यह मदद करेगा। एक पूरा दिन, ग्रेड, Android स्टूडियो के साथ खिलवाड़ किया। खुश कोडिंग।


7

मैंने पाया कि एरिक और सुबीन के जवाबों ने मिलकर मेरी समस्या हल कर दी:

एरिक के जवाब के लिए जावा JDK सेट करने की आवश्यकता है (यह मानकर कि आप JDK 7 का उपयोग कर रहे हैं):

/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home।

मैंने जो गलती की थी, मुझे सिर्फ jdk1.7.0_71.jdk निर्देशिका का चयन करने की कोशिश की गई थी और मुझे त्रुटि संदेश "कृपया एक वैध JDK निर्देशिका चुनें" मिल रहा था।

मैं पहले JDK 6 :( के लिए उपयोग किए जाने वाले प्रारूप पर काम कर रहा था: - यह तब काम किया जब मैंने इसे पूरा करने के लिए कंटेंट / होम में नीचे दिया।

सुबिन का जवाब बताता है कि आप अपने जेडीके स्थान को कैसे खोज सकते हैं जो कि आप जो करने की कोशिश कर रहे हैं उसके आधार पर भिन्न हो सकते हैं।

धन्यवाद एरिक और सुबिन!


3

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


मैंने जो किया वह JDK 7 डाउनलोड करने के लिए था

फिर jdk की सेटिंग में बदलाव करें 1.7.0

यहां छवि विवरण दर्ज करें


3

मुझे भी यह समस्या रही है। अब तक मुझे इसके लिए कोई फिक्स नहीं मिला है, इसलिए मैंने अधिकतम SDK संस्करण को 20 में बदलने का सहारा लिया है, जो JDK6 के साथ काम करता है।

फ़ाइल स्थान के लिए, इसके बजाय एंड्रॉइड स्टूडियो के अनुसार यह सिस्टम / लाइब्रेरी / जावा / JavaVirtualMachines / सम्मिलित JDK संस्करण / सामग्री / होम में होना चाहिए।

वास्तव में मेरा JDK / लाइब्रेरी / जावा / JavaVirtualMachines / JDK संस्करण यहाँ / सामग्री / होम में स्थापित हो जाता है ।

वास्तविक निर्देशिका में JDK का चयन करने की कोशिश कर रहा है, जहां इसकी स्थापना Android स्टूडियो कहती है कि मुझे एक वैध JDK स्थान का चयन करने की आवश्यकता है। अभी के लिए मुझे कोई फिक्स नहीं मिल सकता है, इसलिए जैसा कि मैंने ऊपर कहा था, मैंने 21 के बजाय अधिकतम एसडीके संस्करण को 20 में बदलने का सहारा लिया है और यह इस तरह रहेगा कि जब तक कि अधिक लोग बग से पीड़ित न हो जाएं ताकि Google इसे ठीक कर दे। या जब तक एक वास्तविक फिक्स काम नहीं करने के लिए 101 तरीकों के बजाय ऑनलाइन पोस्ट किया जाता है।

उम्मीद है कि यह अभी के लिए मदद करता है, यह वास्तव में एक समाधान / जवाब नहीं है, लेकिन यह मेरे लिए काम करता है कि समय के लिए चारों ओर एक काम है।


0

अगर आपके पास केवल 1.6.0.jdk फ़ोल्डर है, तो इस लिंक पर जाएं और डाउनलोड करें और jdk 1.7 इंस्टॉल करें। फिर इस रास्ते में अपने जावा फ़ोल्डर खोजें

/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home

0

एंड्रॉइड स्टूडियो 1.4 में एक ही त्रुटि के लिए इस थ्रेड पर समाधान मान्य नहीं हैं। वरीयता मेनू, उदाहरण के लिए, चला गया है। नीचे Ubuntu 14.04 पर चलने वाले एंड्रॉइड स्टूडियो 1.4 के लिए समाधान है।

Ubuntu 14.04+ और Android Studio 1.4+ में हल करने के लिए, आपको जाने की आवश्यकता है

फ़ाइल -> अन्य सेटिंग्स -> डिफ़ॉल्ट सेटिंग्स -> निर्माण, निष्पादन, तैनाती -> कंपाइलर -> जावा कंपाइलर -> प्रोजेक्ट बायटेकोड संस्करण

यह ड्रॉप-डाउन डिफ़ॉल्ट रूप से रिक्त होगा।

नीचे के पेंच के मामले में, अपनी पसंदीदा JDK पर सेट करें, 1.8।

android sdk screencap

वोइला, आपका प्रोजेक्ट संकलित करेगा।


0
  1. नवीनतम JDK यहाँ से डाउनलोड करें
  2. कमांड लाइन टूल खोलें।
  3. अपने कमांड लाइन टूल में लाइन को कॉपी और पेस्ट करें और रिटर्न को दबाएं।

/ Usr / libexec / JAVA_HOME

  1. इस आदेश की प्रतिलिपि बनाएँ।
  2. अपने एंड्रॉइड प्रोजेक्ट पर वापस जाएं, और नीचे के रूप में नेविगेट करें

फ़ाइल -> परियोजना संरचना -> JDK स्थान

संपादित करें (तीन बिंदुओं के साथ वर्ग पर क्लिक करें) JDK स्थान (छवि में दूसरा) और वहां कमांड लाइन टूल आउटपुट पेस्ट करें।

यहां छवि विवरण दर्ज करें मैंने मैकबुक प्रो का उपयोग करके इन निर्देशों को इकट्ठा किया है।

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