Android में Kotlin कम्पाइलेशन ठीक करें: compileDebugKotlin एरर का समाधान

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

परिचय: आपका Kotlin प्रोजेक्ट अचानक टूट गया? घबराएं नहीं!

\n\n

आप Kotlin में कोड लिख रहे हैं, सब कुछ ठीक चल रहा है, और अचानक — बैम! — बिल्ड करते समय एक लाल लाइन दिखती है: Error:Execution failed for task ':app:compileDebugKotlin'. > Compilation error. See log for more details. अगर आपने कभी Android डेवलपमेंट किया है, तो आप जानते हैं वह भावना जब Gradle अचानक तय करता है कि आज उसका दिन नहीं है। यह एरर Stack Overflow पर सबसे लोकप्रिय एरर में से एक है, और आज हम इसे शुरू से अंत तक समझेंगे।

\n\n

इस ट्यूटोरियल में हम सिर्फ इंटरनेट से जवाब कॉपी नहीं करेंगे। हम समझेंगे कि Kotlin कभी-कभी कम्पाइल क्यों नहीं होता, और इसे जल्दी और आसानी से ठीक करना सीखेंगे। चलिए शुरू करते हैं!

\n\n

यह एरर वास्तव में क्या मतलब है?

\n\n

चलिए सीधे मुद्दे पर आते हैं। संदेश Execution failed for task ':app:compileDebugKotlin'. > Compilation error हमें बताता है कि Kotlin कम्पाइलर को आपके कोड में कुछ ऐसा मिला है जो उसे पसंद नहीं है। सबसे चालाक बात यह है कि अक्सर Android Studio यह सामान्य संदेश लिखता है, और असली कारण को लॉग में छिपा देता है। "See log for more details" वाक्य खाली शब्द नहीं हैं। असली समस्या लॉग (Build Output या Run) में ही खोजनी चाहिए।

\n\n

लेकिन लॉग को तुरंत स्क्रॉल न करें। कुछ सामान्य परिदृश्य हैं जो 90% मामलों में यह एरर पैदा करते हैं।

\n\n

मुख्य कारण (स्व-निदान के लिए सूची)

\n
    \n
  • Kotlin और Gradle प्लगइन के वर्जन की असंगति। यह क्लासिक है। आपने Kotlin अपडेट किया, लेकिन build.gradle में प्लगइन अपडेट करना भूल गए — और एरर मिल गया।
  • \n
  • एनोटेशन का विरोध। Kotlin एनोटेशन के मामले में बहुत सख्त है (जैसे, @Nullable बनाम @NotNull)। गलत उपयोग कम्पाइलेशन को तोड़ सकता है।
  • \n
  • गलत JVM Target। यदि आप Kotlin के नए वर्जन की सुविधाओं का उपयोग कर रहे हैं, लेकिन JVM target पुराना है, तो कम्पाइलर शिकायत करेगा।
  • \n
  • कैश की समस्या। हाँ, Gradle और Android Studio कभी-कभी "भूल जाते हैं" कि आपने एरर ठीक कर दिया है, और पुराना एरर दिखाते रहते हैं।
  • \n
  • Kotlin में सिंटैक्स एरर। छूटा हुआ ब्रैकेट, गलत टाइप — ये सब यह एरर पैदा कर सकते हैं, भले ही संदेश एक सामान्य बिल्ड समस्या जैसा लगे।
  • \n
\n\n

चरण 1: लॉग को सही तरीके से पढ़ें (डेवलपर का मुख्य कौशल)

\n\n

कुछ भी बदलने से पहले, Android Studio में Build टैब खोलें (आमतौर पर यह नीचे होता है)। अगर वहाँ खाली है, तो View → Tool Windows → Build पर क्लिक करें। लाल लाइनों को खोजें। सबसे महत्वपूर्ण जानकारी अक्सर e: या error: से शुरू होती है।

\n\n

असली लॉग का उदाहरण:

\n
e: /Users/user/Project/app/src/main/java/com/example/MainActivity.kt: (12, 5): Null can not be a value of a non-null type String
\n\n

देखा? कम्पाइलर ईमानदारी से कहता है: "लाइन 12, कैरेक्टर 5 पर, आप एक वेरिएबल को null असाइन करने की कोशिश कर रहे हैं जो null नहीं हो सकता"। बहुत आसान है। अब आप जानते हैं कि कहाँ खोदना है।

\n\n

चरण 2: तीन सबसे सामान्य समाधान (कोड के साथ)

\n\n

आइए प्रत्येक मामले को उदाहरणों के साथ समझते हैं। अपना build.gradle (Module: app) खोलें।

\n\n

समाधान #1: Kotlin और Gradle प्लगइन अपडेट करें

\n

यह पहली चीज़ है जिसे जाँचना चाहिए। सुनिश्चित करें कि build.gradle (project-level) में Kotlin का वर्जन प्लगइन के वर्जन से मेल खाता है।

\n\n
// build.gradle (Project level)\nbuildscript {\n    ext.kotlin_version = '1.9.22' // kotlinlang.org पर नवीनतम वर्जन देखें\n    repositories {\n        google()\n        mavenCentral()\n    }\n    dependencies {\n        classpath 'com.android.tools.build:gradle:8.2.2' // Gradle का वर्जन Kotlin के साथ संगत होना चाहिए\n        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"\n    }\n}
\n\n

यदि आप Kotlin 1.8+ का उपयोग कर रहे हैं, तो सुनिश्चित करें कि Gradle प्लगइन भी पीछे नहीं है। अपडेट करने के बाद "Sync Now" पर क्लिक करें।

ब्लॉग

पुस्तक अनुशंसाएँ