2012-10-02 15 views
38

मैं एक एंड्रॉइड ऐप पर काम करने के लिए इंटेलिजे आईडीईए का उपयोग करने की कोशिश कर रहा हूं जो इसके द्वारा शपथ लेता है, लेकिन मैं निर्माण करने में असमर्थ हूं किसी भी एंड्रॉइड प्रोजेक्ट्स में वह मुझे भेजता है क्योंकि जब भी मैं बिल्ड करने की कोशिश करता हूं तो मुझे package R does not exist कहने में त्रुटि मिलती है।इंटेलिजे आईडीईए - कुछ भी नहीं बना सकता है, हमेशा "पैकेज आर मौजूद नहीं है"

मैं जो कुछ भी सोच सकता हूं उसकी कोशिश कर रहा हूं। उदाहरण और अन्य बातों का ध्यान रखना आवश्यक:

  • यकीन है कि मैं local.properties फ़ाइल मेरे Android SDK के फ़ोल्डर की जड़ की ओर इशारा करते का संस्करण नहीं बनाना।

  • परियोजना संरचना संवाद में विभिन्न सेटिंग्स के साथ झुकाव (मैं उन सभी को सूचीबद्ध नहीं करूंगा)।

  • जिस परियोजना पर मैं काम कर रहा हूं उसके पास दो लाइब्रेरी प्रोजेक्ट हैं, साथ ही R कक्षा का भी उपयोग करते हैं और वे ठीक काम करते हैं।

  • आईडीई के भीतर इंटेलिजेंस R कक्षा को पहचानता है और जो सामान मैं उम्मीद करता हूं उसके साथ आता है।

किसी भी मदद की सराहना की जाएगी। मुझे लगता है कि मुझे कुछ बुनियादी याद आ रहा है।

+0

ताज़ा किसी तरह की कोशिश की मदद करता है/साफ (कम से कम यह मेरा मामला था)? यह आम तौर पर इन आर समस्याओं को हल करता है (जो आयातित परियोजनाओं के साथ आम हैं) – keyser

+0

कोशिश की और पुनः प्रयास की, दुर्भाग्य से मदद नहीं करता है। मुझे संदेह है कि बिल्ड पथ या कुछ के साथ कुछ है - यह जानता है कि आर पैकेज क्या है जब मैं कोडिंग कर रहा हूं, लेकिन जब यह बनाता है ... –

+2

आप प्रोजेक्ट के संकलन पथ (और संभवतः _ "आईडीई द्वारा संसाधन संकलित करें" _ विकल्प)। – keyser

उत्तर

34

"मौजूदा स्रोतों से परियोजना बनाएँ" मैं कर रहा हूँ ब्रांड इंटेलीजे के लिए नया तो मैं माफी माँगता हूँ अगर यह आपके लिए काम नहीं करता। मुझे एक ही समस्या का सामना करना पड़ रहा था और समाधान आपकी परियोजना में AndroidFacet जोड़ना था।

(मैं, पर एक मैक हूँ इसलिए यहाँ दिशाओं से थोड़ा दूर हो सकता है, और वहाँ शायद बेहतर तरीके से इस विंडो को खोजने के लिए, यदि ऐसा है तो मुझे पता है कर रहे हैं!)

  1. सही अपनी परियोजना पर क्लिक करें और नीचे जाना Open Module Settings को (F4 भी लगता है काम करता है)
  2. बाएं कॉलम में Facets का चयन करें
  3. + बटन
  4. क्लिक करें एक AndroidFacet अपनी परियोजना, और देखा में जोड़ें!
  5. अब आप अपने R रों आयात करने के लिए आवश्यकता हो सकती है, एक बहुत बड़ा दर्द हो सकता है जो ... इसलिए उम्मीद है कि किसी को

आशा ऑटो आयात करने के लिए एक आसान तरीका के साथ झंकार कर सकते हैं इस कोई मदद करता है!

+0

मुझे इसे आजमाने की आवश्यकता नहीं होगी क्योंकि मैं अंततः एक अलग मार्ग से ऊपर पहुंचने में कामयाब रहा (ऊपर मेरी टिप्पणियां देखें), लेकिन विस्तृत, उपयोगी प्रतिक्रिया के लिए आपके लिए अप –

+0

मेरे लिए काम किया! हालांकि ऐसा लगता है कि जिस पहलू को मैं जोड़ना चाहता था वह प्रोजेक्ट के समान ही था। (डब्ल्यूटीएफ का एक पहलू है?) – user426364

+1

मुझे यकीन है कि इंटेलिजे में एक 'पहलू' आपके आवेदन के एक पहलू की तरह है जो परियोजना को आवश्यकताओं/जटिलताओं को जोड़ता है। तो उदाहरण के लिए, हम जावा एप्लिकेशन को "मामूली" पहलू के साथ लिख रहे हैं कि यह एक एंड्रॉइड जावा प्रोजेक्ट है। मुझे लगता है कि वे बहुत सी चीजों के लिए इसका इस्तेमाल करते हैं, लेकिन स्पष्ट रूप से मैं इसे एंड्रॉइड के लिए उपयोग करता हूं। – xbakesx

1

कोशिश नई परियोजना बना सकते हैं और चयन

+0

मैं समझता हूं कि आप क्या सुझाव दे रहे हैं, लेकिन यह एक पुलिस आउट की तरह लगता है। मैं समझता हूं कि कौन सी सेटिंग समस्या पैदा कर रही है, खासतौर पर क्योंकि मौजूदा सभी मौजूदा .iml और .idea फ़ाइलें और फ़ोल्डर्स हैं। –

13

यदि आप इसे "पुनर्निर्माण" करने से पहले एक पैकेज के साथ चला रहे हैं जो इसे बना रहा है। बिल्ड-> पुनर्निर्माण परियोजना। जीन हटाने से ऐसा नहीं होता है क्योंकि आईडीईए वास्तविक जेनरेट आर को कहीं और बचाता है।

+0

यह मेरे लिए काम किया। धन्यवाद। – gnoejh

4

मैंने इंटेलिजे के साथ खेलना शुरू कर दिया है क्योंकि मुझे नए एंड्रॉइड स्टूडियो के साथ समस्याएं थीं और कुछ और कोशिश करना चाहता था जो थोड़ा और स्थिर था (मैंने पहले कभी भी पहले कभी नहीं उपयोग किया था)। मैं भयभीत हो गया "पैकेज आर मौजूद नहीं है" त्रुटि। मेरे अनुभव में, आमतौर पर यह एक एक्सएमएल फ़ाइल में गड़बड़ हो जाता है। मेरे लिए, समस्या वास्तव में AndroidManifest के साथ थी।एक एंड्रॉइड लाइब्रेरी मॉड्यूल के लिए xml फ़ाइल जिसे मैंने एक्शनबैरशेलॉक के लिए बनाया था।

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
      package="com.example.ActionBarSherlockLibrary_4_3_1" 
      android:versionCode="1" 
      android:versionName="1.0"> 

    <application 
     android:label="@string/app_name" 
     android:icon="@drawable/ic_launcher"> 
     <activity 
      android:name="ACTIVITY_ENTRY_NAME" 
      android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN"/> 
       <category android:name="android.intent.category.LAUNCHER"/> 
      </intent-filter> 
     </activity> 
    </application> 
</manifest> 

जब मैं इस मॉड्यूल मैं फ़ाइल चुना बनाया: जो भी कारण के लिए, जब यह बनाया AndroidManifest.xml फ़ाइल AndroidManifest.xml फ़ाइल कि एबीएस के साथ आया था का उपयोग करने के लिए परेशान नहीं किया था और उस में निम्नलिखित डाल > नया मॉड्यूल ... मैंने फिर एंड्रॉइड सेक्शन के तहत लाइब्रेरी मॉड्यूल चुना और सामग्री रूट के लिए मैंने एबीएस के लिए फ़ाइलों के स्थान पर ब्राउज़ किया (अन्य फ़ील्ड ऑटो सही ढंग से भर गए और मैंने उन्हें नहीं बदला)। मैंने फिर खत्म किया क्लिक किया और यह मुझे प्रेरित किया अगर मैं प्रोजेक्ट.प्रोपर्टीज के लिए स्थानीय फ़ाइल या मेमोरी फ़ाइल रखना चाहता था। मैंने स्थानीय फ़ाइल को रखना चुना और इसके बाद मुझे किसी अन्य के लिए संकेत नहीं दिया।

मुझे नहीं पता कि यह AndroidManifest.xml फ़ाइल को गड़बड़ क्यों कर रहा है (शायद मैंने जो किया वह गलत था ... ???), लेकिन इसे ठीक करने के लिए मैंने बस मूल AndroidManifest.xml की प्रतिलिपि बनाई है जिसे मैंने डाउनलोड किया था पुस्तकालय और गड़बड़ AndroidManifest.xml फ़ाइल को प्रतिस्थापित किया गया। इसके बाद मैंने बिल्ड> पुनर्निर्माण परियोजना बनाई और यह "पैकेज आर मौजूद नहीं है" त्रुटियों का समाधान किया।

एक अन्य विचार, @xbakesx ने Facets सेटिंग्स का उल्लेख किया है, और किसी भी मॉड्यूल के लिए जो आप पुस्तकालयों के रूप में उपयोग कर रहे हैं, आपको यह सुनिश्चित करना चाहिए कि उस मॉड्यूल के लिए Facets के अंतर्गत "लाइब्रेरी मॉड्यूल" चेक किया गया हो। मुझे उस समय कुछ समस्याएं थीं जब मैं इंटेलिजे/एंड्रॉइड स्टूडियो में लाइब्रेरी को कॉन्फ़िगर करने का तरीका जानने का प्रयास कर रहा था (मैंने वास्तव में केवल ग्रहण का उपयोग किया है)।

2

मेरे मामले में मुझे इंटेलिज कंपाइलर कैश को हटाना पड़ा। मेरी खिड़की मशीन पर यह इस somelike था:

%USERPROFILE%\.IdeaIC12\system\compile-server\<my project> 
25

यहाँ सूचीबद्ध उन लोगों के लिए एक अन्य संभावित समाधान है कि अपने AndroidManifest.xml में पैकेज का नाम अपने वास्तविक पैकेज से मेल खाता है की जाँच करने के लिए है:

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

मेरा पैकेज ठीक से निर्माण कर रहा था जब तक कि मैंने पैकेज नाम का पुन: उपयोग नहीं किया, सब कुछ प्रतिक्रियाशील फ़ाइल में पैकेज नाम को छोड़कर (ऊपर देखें) जो कि "पैकेज आर मौजूद नहीं है" त्रुटि का कारण बनता है।

+0

एक ही गलती करें ... बहुत बहुत धन्यवाद –

+0

मेरा दिन बचाया !! – penduDev

+0

धन्यवाद मुझे यह मिला, मैं इसे – maraujop

4

मैं बस इंटेलिजे को पुनरारंभ करता हूं और यह जादूगर हल हो जाता है। इसे पहले आज़माएं।

3

एक ही समस्या थी - मुद्दा यह था कि मैनिफेस्ट फ़ाइल में डिफ़ॉल्ट गतिविधि सेटअप ठीक से नहीं था।

+0

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

1

मेरे $ 0.02 को जोड़कर बस किसी और के पास कोई समस्या है। मेरे मामले में मैंने IntelliJ का उपयोग करके "हैलो वर्ल्ड" एप्लिकेशन जेनरेट किया था और "com.example" से पैकेज नाम बदलने के लिए भूल गया था। मैंने पैकेज नाम को दोबारा करने के लिए इंटेलिजे का इस्तेमाल किया। इससे त्रुटि हो रही है।

इसलिए मैंने "com.example" के लिए वैश्विक खोज की और यह एंड्रॉइडमैनीफेस्ट फ़ाइल में पाया गया जैसा कि दूसरों द्वारा उल्लिखित है। हालांकि, इसे बदलने से समस्या ठीक नहीं हुई। "com.example" ".idea" निर्देशिका के अंतर्गत "workspace.xml" में भी मिला था। मैंने उन सभी घटनाओं को बदल दिया, एक पुनर्निर्माण किया और फिर यह फिर से काम करना शुरू कर दिया!

यह इंटेलिजे में एक बग जैसा लगता है।

5

मेरे मामले में, मैं एक अन्य परियोजना से कुछ वर्गों जोड़ा गया है और मैं अपने वास्तविक परियोजना से आर पैकेज के लिए आयात को जोड़ने के लिए किया था:

import com.youcompanyname.yourprojectname.R; 
+0

मुझे विश्वास नहीं है कि यह सही है। – RyanDawkins

+1

* "किसी अन्य प्रोजेक्ट से कुछ वर्ग जोड़े गए" * यह ऐसा होता है कि मैं इस स्थिति में था, और यह मेरे लिए काम करता था। **:) ** –

3
सभी निराशाजनक लोग हैं जो इस दूर नीचे तक पहुँच चुके हैं करने के लिए

उत्तर: मुझे तुम्हारा दर्द महसूस होता है।मैंने एक घंटे कुछ भी नहीं किया है, लेकिन उपरोक्त उन सभी चीजों के साथ-साथ अन्य स्रोतों के प्रस्तावों को आजमाया है। मैंने अपने सभी एक्सएमएल संसाधनों को दो बार चेक किया है, साफ किए गए कैश, एक दर्जन बार पुनर्निर्मित किया है, यहां तक ​​कि पूरी मशीन को फिर से शुरू किया है। यहाँ क्या वास्तव में मेरे लिए काम किया है:

तहत (निचले बाएँ कोने) 'प्रकार का निर्माण' , मैं एक अलग संस्करण बिल्ड (डिबग के बजाय मेरे मामले रिलीज में) लक्ष्य था कि के लिए चुना लापता आर समस्या इसे हल किया गया।

1

एंड्रॉइड स्टूडियो में, मेरी समस्या तब थी जब मैंने एक वर्ग को एक और समान वर्ग बनाने के लिए टेम्पलेट के रूप में उपयोग करने के लिए चिपकाया था, यह स्वचालित रूप से सामानों का एक गुच्छा आयात करने के लिए कहता है, जिनमें से अधिकांश नए से संबंधित नहीं होने वाला था कक्षा, तो मैंने रद्द कर दिया। इसके साथ यह import com.your.packagename.R; तो आर एकदम चमक वास्तव में फ़ाइल मैं में इसका इस्तेमाल करने की कोशिश कर रहा था में आयात किया जा रहा बाहर छोड़ दिया।

एक साथ ठीक किया जा सकता alt: दर्ज जब R पर क्लिक (यह लाल रंग में हाइलाइट किया जाना चाहिए)

3

मेरे पास ने पैकेजगेम को दोबारा प्रतिक्रिया दी और इंटेलिज ने इसे मैनिफेस्ट में अपडेट नहीं किया।

तो यदि आपने पैकेजगेम को दोबारा प्रतिक्रिया दी है तो मैनिफेस्ट पर जाएं और एक्सएमएल फ़ाइल की जड़ में विशेषता "पैकेज" को अपडेट करें और इसे पुनर्निर्माण करें। तो कोई त्रुटियां होती हैं यह शायद आयात में एक गलत PackageName है यदि ऐसा है तो सिर्फ उन्हें

आशा को ठीक इस किसी

संबंधित मुद्दे