त्रुटि संदेश के साथ लाल रंग में एंड्रॉइड स्टूडियो आर को चिह्नित करता है "प्रतीक आर को हल नहीं कर सकता", लेकिन निर्माण सफल होता है


150

एंड्रॉइड स्टूडियो में बनाने की कोशिश की गई प्रत्येक परियोजना में, आर के सभी उपयोगों को त्रुटि संदेश "प्रतीक आर को हल नहीं कर सकता" के साथ लाल रंग में चिह्नित किया गया है, लेकिन संकलन सफल होता है और एप्लिकेशन चलता है। यह वास्तव में कष्टप्रद है, क्योंकि यह ऑटो-पूर्णता को अवरुद्ध करता है और मेरे कोड पर विशाल लाल लहराती रेखा दिखाता है।

मैं एंड्रॉइड स्टूडियो 1.7.0 चला रहा हूं और डिफ़ॉल्ट सेटिंग्स के साथ प्रोजेक्ट बना रहा हूं। एक स्क्रीनशॉट संलग्न है:

एंड्रॉइड स्टूडियो स्क्रीनशॉट

यह मेरा है build.gradle:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.4'
    }
}
apply plugin: 'android'

dependencies {
    compile files('libs/android-support-v4.jar')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }
}

यह प्रोजेक्ट संरचना कैसी है:

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

इसे ठीक करने के लिए कोई भी विचार?


मेरी कुछ परियोजनाओं पर ऐसा हुआ है। इसे ठीक करने के लिए मैं 'क्लीन', 'रीबिल्ड', क्लोज प्रोजेक्ट और रीओपन। फिर टूल्स -> एंड्रॉइड -> सिंकल फाइलों के साथ सिंक प्रोजेक्ट चुनें। साथ ही साथ निम्नलिखित को भी आज़माया है ... प्रोजेक्ट को बंद करें और फ़ोल्डर को या तो एक नई निर्देशिका में ले जाएं या वर्तमान निर्देशिका का नाम बदलें। अब परियोजना को आयात करें, जैसे कि यह नया था। प्रारंभिक एंड्रॉइड स्क्रीन से ऐसा करने के लिए कुछ तरीके हैं, आयात का चयन करें और जब आप निर्देशिका का पता लगाते हैं, तो परियोजना के नाम या मास्टर निर्देशिका से आयात न करें, 'App' में एक स्तर पर आयात करें।
स्नैपी क्रैकर

पाठक, इससे पहले कि आप कुछ और प्रयास करें जो जटिल हो सकता है ... बस एंड्रॉइड स्टूडियो को पुनरारंभ करने का प्रयास करें।
eRaisedToX

जवाबों:


111

बस अपने Android स्टूडियो में बिल्ड -> पुनर्निर्माण परियोजना विकल्प पर क्लिक करें ।


मेरी एक .Jpg छवि थी जिसे मैंने उचित रूपांतरण के बिना .png में बदल दिया था। उस फ़ाइल को निकालने से समस्या हल हो गई। हालांकि अजीब ..
डेथआरएस

मैं वास्तव में इस चीज़ को करना चाहता था, लेकिन एंड्रॉइड स्टूडियो अपने निर्माण पर कुख्यात है। अगर मैंने ऐसा किया तो मेरा 30 मिनट से अधिक समय लगेगा।
नियॉन वॉर

सही समाधान !!
आकाश बिसरिया

दो बार करना था
Janac Meena

कभी-कभी यह आपकी XML फ़ाइल की गलती के कारण होता है। <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">इन पंक्तियों को xml फ़ाइलों में जांचें और इसे सही करें।
मेय्यसिर

63

मैंने पाया कि यह समस्या इसलिए थी क्योंकि मेरी XML फ़ाइलों में त्रुटियां थीं। एक बार जब आप XML त्रुटियों को ठीक कर लेते हैं, तो एक क्लीन / बिल्ड करें, यह समस्या को ठीक करता है।


8
बस जो कोई भी पढ़ने में मदद कर रहा है। यह XML फ़ाइलों में कुछ ऐसी संभावना है जो त्रुटि पैदा कर रहा है। मेरे लिए, (यह सुनिश्चित नहीं है कि क्यों) लेकिन यह एक खंड लेआउट लाइन के कारण होता था: Android: Layout_bottom = "@ id / my_list" बस इस टुकड़े से एक टुकड़े से दूसरे टुकड़े पर लेआउट_टॉप का उपयोग करने के लिए इस लाइन से स्विच करना।
मिंग्सेंग

मेरे लिए एक ही बात! मदद के लिए धन्यवाद
माइकल

मुझे भी! धन्यवाद।
टेडी विल्सन

बहुत बढ़िया जवाब! धन्यवाद
बेराट Eyüboğlu

हां, मेरे मामले में: मेरे xml तत्व की ऊंचाई '50dp' के बजाय '50' थी।
कृष्ण राज सलीम

44

पर क्लिक करें Build -> Rebuild Projectऔर फिर क्लिक करें Tools -> Android -> Sync Project with Gradle Files


2
यह काम। मुझे अपग्रेड वर्जन अपग्रेड करने के बाद त्रुटि का सामना करना पड़ा है।
वाक्विता

मेरी स्थिति यह थी: प्रत्येक cleanने सभी Rत्रुटियां कीं, प्रत्येक ने buildइसे ठीक कर दिया, लेकिन निश्चित रूप से इस परियोजना को 'अशुद्ध' कर दिया। इस उत्तर का पालन करने के बाद मैं अंत में त्रुटियों को प्राप्त किए बिना परियोजना को साफ कर सकता हूं।
तावीज

बस @ user2284700 के उत्तर में जोड़ना: 3.1.3 के रूप में "ग्रेड फाइल के साथ सिंक प्रोजेक्ट" "फाइल" मेनू के अंतर्गत है
बीएमयू

33

सुनिश्चित करें कि आपके AndroidManifest.xmlपैकेज का नाम सही है। जब मेरे R.whateverलाल को चिन्हित किया गया तो मेरे लिए यह समस्या तय हो गई !

मैं यह gradleसुनिश्चित करने के लिए आपकी सभी फाइलों की जांच करने की भी सिफारिश करूंगा कि उन पैकेज के नाम सही हैं। यह सब कुछ लाल नहीं होना चाहिए, लेकिन यह आपकी gradleफ़ाइलों को ठीक से सिंक्रनाइज़ करने से रोक देगा ।


धन्यवाद! मैं इसके बारे में भूल के लिए पैकेज के नाम के साथ एक छोटा सा प्रयोग कर रहा था ...
टॉम

17

कुछ भी नहीं । बस Android स्टूडियो अपडेट करें । मेरी समस्या का समाधान करो! पूरी तरह से काम करें।


1
मैंने यहां बताए गए सभी समाधानों की कोशिश की। एंड्रॉइड स्टूडियो को अपडेट करना इस मुद्दे को तय करता है
शिव के रेड्डी सी शिव

1
इस पर मुझे और घंटे बर्बाद करने से बचाने के लिए धन्यवाद
wmurmann

12

मेरे पास 'com.android.tools.build:gradle:3.3.1' के साथ ऐसा ही मुद्दा था, मैंने उपरोक्त सभी समाधानों की कोशिश की, कुछ भी काम नहीं किया। यह वास्तव में निर्मित था: ग्रेडेल 3.3.1 अंक। मैंने इसे 3.2.1 में बदल दिया तब इसने काम किया।

तो यह बिल्ड के साथ जारी किया जा सकता है: ग्रेडल संस्करण।


03.2019 में इससे मदद मिली। क्या दिलचस्प था कि यह केवल मेरी एक परियोजना पर हुआ और अन्य दो परियोजनाओं पर नहीं हुआ। अब मुझे आशा है कि एंड्रॉइड स्टूडियो अपडेट ने कुछ और गड़बड़ नहीं किया ...
मार्टिन बर्गर

9
  1. फ़ाइल> प्रोजेक्ट संरचना मेनू विकल्प का चयन करें।
  2. मैसेज बॉक्स पर ओके दबाएं (प्रोजेक्ट स्ट्रक्चर चेंज बिल्ड अपडेट नहीं है ।ग्रेड)।
  3. "प्रोजेक्ट सेटिंग्स" साइड पेन पर "मॉड्यूल" चुनें।
  4. प्रत्येक मॉड्यूल (प्रोजेक्ट) के लिए, जांचें कि "बहिष्कृत फ़ोल्डर" अनुभाग में "बिल्ड" फ़ोल्डर शामिल नहीं है। यदि वे करते हैं, तो "बिल्ड" फ़ोल्डर के बगल में 'x' बटन दबाएं।
  5. ओके दबाओ

अब आपको "MyAppProject / MyApp / build / source" फ़ोल्डर देखना चाहिए। इसमें "r" फ़ोल्डर होना चाहिए (जहाँ R.java फ़ाइल उत्पन्न होती है)। यहां, आपको या तो "डीबग", "रिलीज़" को नीले रंग में देखना चाहिए (यदि आपके पास अपने build.gradle में एक प्रोजेक्टफ्लोर है, तो ये "" फ़ोल्डर ") के तहत होंगे। उस डीबग / रिलीज़ फ़ोल्डर में आपके ऐप का पैकेज नाम होना चाहिए और फिर एक R.java फ़ाइल जिसमें आपके सभी संसाधन आईडी हों।


1
यह किसी भी अधिक प्रासंगिक नहीं है, लेकिन ध्यान दें कि मेरे पास उस फ़ोल्डर में एक R.java फ़ाइल नहीं थी, जैसा कि आप Loïc में मेरे उत्तर में देख सकते हैं।
इल्या कोगन

9
  1. परियोजना का पुनर्निर्माण करें।
  2. यदि (1) काम नहीं करता है, तो एंड्रॉइड स्टूडियो / ग्रहण को पुनरारंभ करें।

यदि न तो काम करता है, तो अपने सभी xml फ़ाइलों की जाँच करें। यह त्रुटि तब होती है जब आपकी xml फ़ाइल गलत होती है।


मेरे मामले में, मेनिफ़ेस्ट.xml फ़ाइल में एक विशेषता थी जो समस्या का कारण बनी। जब तक मैंने खोजा और बस लाइन को हटा दिया, तब तक मुझे नींद आ गई थी। यह विशेषता Android थी: fullBackupContent = ""
Kingsley Ijike

6

कुछ कारणों से, एंड्रॉइड स्टूडियो संपादक के लिए और कंपाइलर के लिए अलग-अलग कॉन्फ़िगरेशन का उपयोग करते हैं। यदि यह कंपाइलर के लिए काम करता है तो यह अच्छा है। अगर यह संपादक के लिए काम नहीं करता है। (यह अनसुलझे फ़ाइलों को देखता है)।

आपको अपनी परियोजना के स्रोत में कुछ निर्देशिकाओं को जोड़ने की आवश्यकता है। उदाहरण के लिए सभी संसाधनों को "स्रोत" के रूप में चिह्नित किया जाना चाहिए।

फाइल-> प्रोजेक्ट स्ट्रक्चर

"मॉड्यूल" का चयन करें, फिर अपनी परियोजना। और sourcesटैब का चयन करें । दाईं ओर अपनी संसाधन निर्देशिका खोजें और नीले "स्रोत" बटन पर क्लिक करें। सभी को बंद करें और यह काम करना चाहिए।

इसके अलावा, आपको यह सुनिश्चित करना होगा

build/source/r/debugएक स्रोत भी है। मेरे पास मेरे सभी build/source/*/debugस्रोत के रूप में चिह्नित हैं।

मुख्य मॉड्यूल .iml

<?xml version="1.0" encoding="UTF-8"?>
<module external.system.id="GRADLE" type="JAVA_MODULE" version="4">
  <component name="FacetManager">
    <facet type="android" name="Android">
      <configuration>
        <option name="SELECTED_BUILD_VARIANT" value="debug" />
        <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
        <option name="ALLOW_USER_CONFIGURATION" value="false" />
        <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
        <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
        <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
      </configuration>
    </facet>
    <facet type="android-gradle" name="Android-Gradle">
      <configuration>
        <option name="GRADLE_PROJECT_PATH" value=":SherlockHolmes" />
      </configuration>
    </facet>
  </component>
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/build/source/r/debug" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/build/source/aidl/debug" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/build/source/rs/debug" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/build/source/buildConfig/debug" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/build/res/rs/debug" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/build/source/r/test" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/source/aidl/test" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/source/rs/test" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/source/buildConfig/test" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/res/rs/test" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/assets" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/jni" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/res" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/resources" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/assets" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/aidl" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/assets" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/java" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/jni" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/rs" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/res" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/resources" isTestSource="true" />
      <excludeFolder url="file://$MODULE_DIR$/build/apk" />
      <excludeFolder url="file://$MODULE_DIR$/build/assets" />
      <excludeFolder url="file://$MODULE_DIR$/build/bundles" />
      <excludeFolder url="file://$MODULE_DIR$/build/classes" />
      <excludeFolder url="file://$MODULE_DIR$/build/dependency-cache" />
      <excludeFolder url="file://$MODULE_DIR$/build/exploded-bundles" />
      <excludeFolder url="file://$MODULE_DIR$/build/incremental" />
      <excludeFolder url="file://$MODULE_DIR$/build/libs" />
      <excludeFolder url="file://$MODULE_DIR$/build/manifests" />
      <excludeFolder url="file://$MODULE_DIR$/build/symbols" />
      <excludeFolder url="file://$MODULE_DIR$/build/tmp" />
    </content>
    <orderEntry type="jdk" jdkName="Android 4.2.2" jdkType="Android SDK" />
    <orderEntry type="sourceFolder" forTests="false" />
    <orderEntry type="library" name="Sherlock.aar" level="project" />
    <orderEntry type="library" name="SlidingMenu.aar" level="project" />
    <orderEntry type="library" name="support-v4-13.0.0" level="project" />
  </component>
</module>

परियोजना iml

<?xml version="1.0" encoding="UTF-8"?>
<module external.system.id="GRADLE" type="JAVA_MODULE" version="4">
  <component name="FacetManager">
    <facet type="android-gradle" name="Android-Gradle">
      <configuration>
        <option name="GRADLE_PROJECT_PATH" value=":" />
      </configuration>
    </facet>
  </component>
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <excludeFolder url="file://$MODULE_DIR$/.gradle" />
      <excludeFolder url="file://$MODULE_DIR$/build" />
    </content>
    <orderEntry type="inheritedJdk" />
    <orderEntry type="sourceFolder" forTests="false" />
  </component>
</module>

काला जादू

इस बारे में निश्चित नहीं है, लेकिन मैंने इसे काम करते हुए सुना है मुझे पूरा यकीन है कि इसे कुछ भी नहीं बदलना चाहिए। उन सभी लाइनों पर टिप्पणी करने के बाद प्रोजेक्ट को संकलित करने और सहेजने की कोशिश करें जिनकी आवश्यकता है R। फिर जब सब कुछ लाल नहीं होता। उन्हें वापस जोड़ने का प्रयास करें। यह अजीब है कि आपका निर्माण / स्रोत उत्पन्न नहीं होता है।

इसके अलावा यह प्रश्न "कंपाइलर एक्सटर्नल बिल्ड" की जाँच करने का सुझाव देता है

Android स्टूडियो मेरी आयात परियोजना के लिए R.java उत्पन्न नहीं करता है

पक्षीय लेख

यह भी सुनिश्चित करें कि आपके जावा कोड में कोई भी नहीं है। import android.r;आपने जो दिखाया, उससे सब ठीक लगता है। बस अजीब है कि निर्माण / स्रोत नहीं बनाया जा रहा है। उदाहरण के लिए, मेरे पास कोई बिल्ड / एपीके नहीं है। हो सकता है कि आप रिलीज़ मोड में हों और यह उन निर्देशिकाओं को नहीं बनाता है।


हाय Lo structurec, मैंने सवाल में परियोजना संरचना का एक स्क्रीनशॉट जोड़ा। जैसा कि आप देख सकते हैं, पूरे resफ़ोल्डर को "स्रोत" के रूप में चिह्नित किया गया है, और मेरे पास build/sourceनिर्देशिका नहीं है । क्या मुझे इसे बनाना चाहिए? यदि हां, तो कैसे?
इल्या कोगन

जब तक मैं कह सकता हूं, तब तक बिल्ड / सोर्स डायरेक्टरी अच्छी तरह से बननी चाहिए। एंड्रॉइड स्टूडियो एक "अल्फा" संस्करण है। इसमें बहुत सी अजीब चीजें आती हैं। मेरे पास 1.7.0_21 है। एक विचार एक करना होगा build/rebuil project। यदि आप कमांड लाइन से प्रवणता चला सकते हैं तो यह कुछ त्रुटियों को फेंक सकता है जो संपादक में नहीं दिखाए गए हैं।
लूक फ़ॉरेस-लैक्रोइक्स

यह बनाया नहीं जाता है, हालांकि परियोजना संकलन करती है और डिवाइस पर सफलतापूर्वक चलती है।
इल्या कोगन

Iml फ़ाइलें आपके समान समान दिखाई देती हैं, जिसमें समान फ़ोल्डर शामिल और शामिल नहीं हैं। "फ़ाइल: // $ MODULE_DIR $ / बिल्ड / स्रोत / आर / डीबग" शामिल नहीं है, भले ही यह मौजूद नहीं है। बाहरी बिल्ड का उपयोग करने से अन्य समस्याएं होती हैं (प्रोजेक्ट बिल्कुल भी संकलित नहीं होता है)। यदि मैं रिलीज़ मोड में हूं तो मैं कैसे जांच करूं?
इल्या कोगन

5

यहाँ मेरा अस्थायी समाधान है जब तक कि मुझे एक बेहतर नहीं मिल जाता है:

  1. सब कुछ का उपयोग करके, खोजें कि R.java कहाँ बना है। मेरे मामले में यह था C:\Program Files (x86)\Android\android-studio\system\compiler\<project-name>.cb969c52\.generated\aapt\<module-name>.6badd9a4\production\com\<project-name>\<module-name>

  2. प्रोजेक्ट दृश्य में, मॉड्यूल पर क्लिक करें और F4 दबाएं। चेतावनी को नजरअंदाज करें।

  3. "+ सामग्री जोड़ें रूट" पर क्लिक करें और उपरोक्त फ़ोल्डर चुनें। सुनिश्चित करें कि यह नीले रंग में (एक स्रोत के रूप में) चिह्नित है।

मैंने ऐसा करने के बाद, अचानक सभी चेतावनी दी हैं। समस्या यह है कि यदि आप अन्य लोगों के साथ सहयोग करते हैं, तो प्रत्येक मशीन पर फ़ोल्डर का नाम अलग है, इसलिए सिंक्रनाइज़ करते समय सावधान रहें।


क्या आपने एंड्रॉइड स्टूडियो के नवीनतम 0.2.3 संस्करण के साथ प्रयास किया है? यदि आपको अभी भी समस्या हो रही है, तो इसे code.google.com/p/android/issues पर रिपोर्ट करें, ताकि Android स्टूडियो देवता इससे अवगत हों और समस्या की जांच कर सकें और उसे ठीक कर सकें।
रीस

1
नहीं, मैंने Android Studio को छोड़ दिया। मुझे आईडीई से प्यार है, लेकिन अभी भी बहुत सारे कीड़े हैं जो एक टीम में काम करने के लिए अनुपयुक्त हैं। हम वापस ग्रहण के लिए गए।
इल्या कोगन

2
कोई दिक्कत नहीं है। क्योंकि एंड्रॉइड स्टूडियो अभी भी विकास में है, इसलिए आपको किसी भी बग की रिपोर्ट करने में सक्षम होने की आवश्यकता है जो आपको लगता है (ताकि उन्हें ठीक किया जा सके) और इसके खुरदुरे किनारों के प्रति सहनशील हो। यह सभी के लिए नहीं है।
रीस

5

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

  1. प्रोजेक्ट को बंद करें और फिर से खोलें

  2. "ग्रेड फ़ाइल के साथ सिंक प्रोजेक्ट" दबाएं (शीर्ष मेनू में AVD प्रबंधक आइकन के बगल में है) 1-2 को दोहराएं यदि ग्रेडल पहली बार सिंक नहीं कर सका। (मेरा दूसरी बार में काम किया)।

एंड्रॉइड स्टूडियो 1.2.2 के साथ काम किया


5

मैंने इसे हल किया:

1) Sync Project with gradle files
2) Build -> Clean Project
3) Build -> Rebuild Project
4) File -> Invalidate caches

//imp step
5) Check your xml files properly.

एक दिन बिना किसी स्पष्ट कारण के मेरा ऐप बस टूट गया ... हर जगह त्रुटियां ... बहुत बहुत धन्यवाद! यह बहुत मददगार था!
JFreeman

1
आपको आशीर्वाद देता हूं, अमान्य कैश एकमात्र ऐसी चीज थी जिसने मदद की
किबि

4

बस Android शीर्ष मेनू सूची पर जाएं। बिल्ड मेन्यू पर क्लिक करें, बिल्ट इन रीबिल्ड प्रोजेक्ट पर क्लिक करें ।

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


4

कभी-कभी ये बिल्ड त्रुटियाँ कहीं से भी जारी रहेंगी। यदि आपके साथ ऐसा होता है, तो यह कोशिश करें:

अपनी संसाधन फ़ाइलों में XML की वैधता की जाँच करें: यदि आपकी R.java फ़ाइल अंतिम बिल्ड के लिए उत्पन्न नहीं हुई थी, तो आप जहाँ भी संसाधन का संदर्भ देते हैं, आपको अपने प्रोजेक्ट में त्रुटियाँ दिखाई देंगी। यह आपकी XML फ़ाइलों में से एक टाइपो के कारण हो सकता है। लेआउट एक्सएमएल हमेशा मान्य नहीं होता है, इसलिए इन फाइलों में टाइपोस को आपके ध्यान में नहीं लाया जा सकता है। टाइपो को खोजने और फ़ाइल को सहेजने के लिए R.java को पुन: उत्पन्न करना चाहिए।

अपने प्रोजेक्ट को साफ करें! Select Build → Clean Projectयह स्क्रैच से प्रोजेक्ट को फिर से बनाएगा, जिसके परिणामस्वरूप त्रुटि मुक्त निर्माण हो सकता है।

ग्रेडल के साथ अपने प्रोजेक्ट को सिंक करें! Select Tools → Android → Sync Project with Gradle Filesएंड्रॉइड स्टूडियो प्रोजेक्ट को सही प्रोजेक्ट सेटिंग्स के साथ स्क्रैच से पुनर्निर्माण करेगा, जो आपके ग्रेडल कॉन्फ़िगरेशन को बदलने के बाद मुद्दों को हल करने में मदद कर सकता है।

Android Lint चलाएं! समस्या के संबंध में लिंट आपको अच्छी जानकारी दे सकती है। यदि ऊपर काम नहीं करता है, तो यह वह जगह है जहाँ आप सबसे अधिक अपनी समस्या पाएंगे। लिंट चलाने के लिए,select Analyze → Inspect Code → select Whole project → OK लिंट सुझावों का सावधानीपूर्वक विश्लेषण करें; त्रुटियों और फिर चेतावनियों के साथ शुरू करें।

सौभाग्य।


मेरे मामले में, मेनिफ़ेस्ट.xml फ़ाइल में एक विशेषता थी जो समस्या का कारण बनी। जब तक मैंने खोजा और बस लाइन को हटा दिया, तब तक मुझे नींद आ गई थी। यह विशेषता Android थी: fullBackupContent = ""
Kingsley Ijike

3

यह त्रुटि मेरे साथ होती है क्योंकि मेरी गतिविधि_main.xml फ़ाइल में एक अमान्य इनपुट है।

जब आप अपने प्रोजेक्ट को बनाने या साफ करने की कोशिश करेंगे तो आपको त्रुटि संदेश दिखाई देंगे ।

मैंने उन त्रुटि संदेशों को पढ़कर मेरा समाधान किया , सही है कि मेरी xml फ़ाइल में क्या गलत है। फिर परियोजना का पुनर्निर्माण


2

मेरे पास कुछ दिन पहले यह बग था, मैंने तब तक देखने की कोशिश की जब तक मैंने एंड्रॉइड स्टूडियो को फिर से स्थापित करने का फैसला नहीं किया। इसने मेरे लिए काम किया।


पुनः स्थापित करने से मदद नहीं मिली :(
इल्या कोगन

यह एक बहुत ही कच्चा तरीका है।
तस्लीम ओसेनी

2

एक नमूने से एक परियोजना बनाते समय, मौजूदा परियोजना का आयात नहीं करना अच्छा है (एक नया प्रोजेक्ट बनाने के बाद, प्रतिलिपि बनाना, ग्रेड, .idea, .iml, build, jars और apks, यानी सभी अनावश्यक बिल्ड-जनित फ़ाइलों से टकराव को रोकता है)। और सभी प्रासंगिक संसाधनों को चिपकाते हुए, मैं अनुशंसा करूंगा:

परियोजना के भीतर पैकेज से पैकेज और आयात की जाँच करना {AndroidManifest घोषणा और जावा कक्षाओं में सभी आयात}, सभी संसाधन (ड्रा करने योग्य, मिल-नक्शा, लेआउट और मेनू और आपका build.gradle (build.gradle का एक नमूना) नवीनतम sdk के साथ उपयोग करने के लिए अनुरोध पर प्रदान किया जा सकता है)) यह देखने के लिए कि क्या वे वहां हैं और यदि घोषित तार और आईडी वास्तव में मौजूद हैं और उनका उपयोग किया गया है, जिसके बाद आपकी एकमात्र त्रुटि सवाल पूछा जाना चाहिए:

Bulid-> स्वच्छ परियोजना

टूल्स-> एंड्रॉइड-> ग्रेड फाइल के साथ सिंक प्रोजेक्ट

फ़ाइल-> अमान्य कैश और पुनरारंभ करें

सबसे खराब मामलों में आपकी मशीन को फिर से शुरू करने में मदद मिलती है।

ऊपर वाला काम करे। यदि आवश्यक हो तो प्रश्न पूछने के लिए स्वतंत्र महसूस करें, अर्थात टिप्पणी पोस्ट करें।


2

यह मुख्य रूप से xml फ़ाइल में त्रुटियों के कारण होता है, अपने नवीनतम xml परिवर्तनों की जाँच करें और इसे फिर से बनाएँ, मेरे साथ यही समस्या है।


यह मदद की, धन्यवाद!
फ़राहम

2

मुझे घोषणा के लिए पैकेज की घोषणा में एक कॉपी / पेस्ट पुन: उपयोग त्रुटि थी

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="wrong.package.name">

मुख्य गतिविधि नाम में सही रास्ता था, इसलिए प्रकट में कोई भी त्रुटि नहीं थी।

इसे हल करने के बाद, स्रोत फ़ाइल ने अभी भी त्रुटियां दिखाईं, हालांकि बिल्ड सफल रहा। मैंने सिर्फ ऐप चलाया और फिर स्रोत त्रुटि संकेतक साफ हो गए।


मेरे लिए, मेनिफ़ेस्ट.xml फ़ाइल में एक विशेषता थी जो समस्या का कारण बनी। मैंने बस लाइन हटाई। विशेषता Android थी: fullBackupContent = ""
किंग्सले इज़िक

1

यह भी फ़ोल्डर के लिए मैन्युअल रूप से सफाई करके .idea / पुस्तकालयों और बाद में "ग्रैडल फाइल के साथ सिंक प्रोजेक्ट" पर क्लिक करके मेरे लिए काम किया है। जाहिरा तौर पर यह सिंक तत्वों को नहीं हटाता है, लेकिन पुराने को रखता है और वर्तमान को जोड़ता है। शायद रिपोर्ट करने के लिए एक बग :)


1

एंड्रॉइड स्टूडियो के साथ भी यही समस्या थी, मुझे पता चला कि बिल्ड / जेनरेट / सोर्स / आर में केवल रिलीज फोल्डर और डिबग नहीं था। तो किसी कारण से डिबग बिल्ड ने आर श्रेणी को प्रयोग करने योग्य नहीं बनाया।

मैंने प्रोजेक्ट iml फ़ाइल खोलकर इसे हल किया और इस लाइन को ठीक किया

<option name="RES_FOLDERS_RELATIVE_PATH" value="" />

सेवा

<option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" />

ग्रेड के साथ पुन: जुड़कर, R का उपयोग करते हुए लाइनों पर टिप्पणी की, R उत्पन्न करने के लिए डिबग चलाएं, R का उपयोग करके असंबद्ध लाइनें और डिबग को फिर से चलाएं, फिक्स्ड।


मुझे iml फ़ाइल कहां मिलेगी?
कैप्पुकिनो 90

वही फ़ोल्डर जहाँ आपका build.gradle है ... सबसे अधिक संभावना है
लुकास हैनेस्क

1

समाधान सरल है:

टैब पर जाएं File > Project Structure > appऔर चुनें के लिए ड्रॉप डाउन सूची में Flavoursचयन करें ।API 21: Android 5.0 (Lollipop)Min Sdk Version


धन्यवाद, यह काम करता है! मैंने एक बहुत कम करने के लिए minSdkVersion मान सेट किया था, और reverting ने मेरे लिए समस्या को निर्धारित किया।
अरविंद मणि

1

मेरे मामले में, मैंने उन सभी उत्तरों का पालन किया, जिन्हें मैं स्टैकओवरफ़्लो पर पा सकता था और उनमें से कोई भी इस समस्या को हल करने के लिए नहीं लगता था। सभी उत्तर संभावित xml फ़ाइल भ्रष्टाचार या ग्रेडल नामों के साथ संघर्ष की ओर इशारा करते हैं। कुछ जवाबों ने दावा किया कि प्रोजेक्ट या सिंक प्रोजेक्ट विथ ग्रैडल फाइलों को साफ करना आवश्यक होगा। इन समाधानों से कोई भी समस्या हल नहीं होगी। इसके अलावा, एक बार जब मैं एक हैलो वर्ल्ड ऐप बनाने के बारे में एक ट्यूटोरियल का पालन कर रहा था और मैंने बिना किसी कोडिंग के बस एंड्रॉइड स्टूडियो विज़ार्ड विंडो का पालन किया, तो यह संदेह करने का कोई मतलब नहीं होगा कि यह एक टाइपो की तरह कुछ भी था।

TLDR

समस्या बिल्ड टूल्स संस्करण बन गई। मेरा सेट 23.0.0 आरसी 1 पर था , इसलिए मैंने इसे 22.0.1 में बदल दिया । मुझे लगता है कि ऐसा इसलिए था क्योंकि मैं एंड्रॉइड उपलब्ध के अंतिम उपलब्ध रिलीज का उपयोग कर रहा हूं।

इस मान को बदलने के लिए आप बाईं ओर विंडो पर अपना प्रोजेक्ट ब्राउज़र> राइट क्लिक करें "ऐप> ओपन मॉड्यूल सेटिंग" और "गुण टैब" पर देख सकते हैं


1

आपको अपनी परियोजना आर फ़ाइल को आयात करने की आवश्यकता है

import <YOUR-PROJECT-PACKGENAME>.R;

1

प्रोजेक्ट की सफाई से मेरे मामले में मदद मिली

के लिए जाओ

Build -> Clean Project

1

यदि आपको यह त्रुटि मिल रही है, तो अपनी परियोजना को साफ करें।

  1. अपने एंड्रॉइड स्टूडियो के शीर्ष पर निर्माण के लिए जाएं
  2. विकल्प क्लीन प्रोजेक्ट चुनें

इसके पीछे का कारण यह है कि .apkआपके सिस्टम पर मौजूद आपके एंड्रॉइड स्टूडियो प्रोजेक्ट फोल्डर में मौजूद आपकी पिछली फाइल को साफ करने से वह डिलीट हो जाती है।


1

हाल ही में मैं अपनी परियोजना को एंड्रॉइड स्टूडियो में आयात करता हूं, आर का एक हिस्सा लाल रंग में चिह्नित किया गया है, त्रुटि मेसेज "प्रतीक आर को हल नहीं कर सकता है", लेकिन संकलन सफल होता है और एप्लिकेशन चलता है।

विकास विकसित करें:

  • आईडीई: एंड्रॉइड स्टूडियो 3.1.2
  • सिस्टम: मैक ओएस

उपाय:

चरण 1:

एंड्रॉइड स्टूडियो के लिए कॉन्फ़िगरेशन फ़ाइल ढूंढें
मेरा पथ के :

/Applications/Android Studio.app/Contents/bin/idea.properties

चरण 2:

2500 बदलें:

idea.max.intellisense.filesize=2500  

5000 या अधिक के लिए:

idea.max.intellisense.filesize=5000  

आपने ऐसा कैसे सोचा? इसका क्या मतलब है?
निकोस हिडाल्गो

1
# अधिकतम फ़ाइल आकार (किलोबाइट) आईडीई के लिए कोड सहायता प्रदान करनी चाहिए। # बड़ी फ़ाइल धीमी है इसके संपादक काम करते हैं और उच्चतर समग्र सिस्टम मेमोरी आवश्यकताएं # हैं यदि कोड सहायता सक्षम है। यदि आपको उनके आकार की परवाह किए बिना उपलब्ध किसी भी फ़ाइल के लिए # कोड सहायता की आवश्यकता है, तो इस संपत्ति को निकालें या बहुत बड़ी संख्या में सेट करें। idea.max.intellisense.filesize = 2500
यू झांग

1

आपको रास्ता बदलना होगा:

उदाहरण के लिए

import it.example.project.myproject.R;

इसमे बदलो

import it.example.project.R;


0

मैं उसी त्रुटि में भाग गया, पता चला कि प्रकट फ़ाइल में कुछ त्रुटियां थीं। इसे ठीक करने के बाद, मेक प्रोजेक्ट पर फिर से क्लिक करें, इसने ठीक काम किया। एंड्रॉइड स्टूडियो कभी-कभी बहुत उपयोगी त्रुटि संदेश नहीं देते हैं।


0

मुझे अब हर बार इस से काट लिया जाता है और कोशिश करने के लिए एक और चीज है: नवीनतम संकलन के लिए अपने कंपाइलस्क और बिल्डस्कड संस्करणों का मिलान करें।

मैंने 21 से 19 तक अपने संकलनएसडेकवर्सन को बदल दिया था क्योंकि एंड्रॉइड स्टूडियो (1.1 कैनरी चैनल) डिबगर प्रीबिल्ट लाइब्रेरी में ठीक से नहीं चल रहा था। मैंने पाया कि यह buildToolsVersion (19.1.0) के आधार पर ट्रेसिंग प्रतीत हो रहा था, जिसे मैंने स्टैक ट्रेस में एक त्रुटि पर क्लिक करके सत्यापित किया था (और फिर 21 के बजाय 19 को चुनना)। हालाँकि मैंने इसे सीधे build.gradle फ़ाइल में बदल दिया है, एक ग्राफिकल वॉकथ्रू यहाँ है: https://www.blogger.com/comment.g?blogID=4722727826918942842&postID=3875998588888772255 और मैं संक्षेप में बताऊंगा :

  1. Android Studio IDE, फ़ाइल का चयन करें | प्रोजेक्ट संरचना।
  2. अपना मॉड्यूल चुनें, जैसे "ऐप"
  3. संकलन SDK फ़ील्ड में, नवीनतम संस्करण चुनें
  4. बिल्ड टूल्स में नवीनतम संस्करण भी चुनें

पुष्टि करें, और प्रोजेक्ट स्वचालित रूप से ठीक से सिंक होना चाहिए।

इससे मुझे जो सबक मिल रहा है, वह यह है कि वे दोनों एक ही होने चाहिए।

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