2012-12-09 15 views
37

में विशेषता 'parentActivityName' के लिए कोई संसाधन पहचानकर्ता नहीं मिला है, मैं एंड्रॉइड पेज http://developer.android.com/training/basics/firstapp/starting-activity.html से इस ट्यूटोरियल को पूरा करने की कोशिश कर रहा हूं, लेकिन मैं ग्रहण करता हूं कि यह त्रुटि फेंकता है: "विशेषता के लिए कोई संसाधन पहचानकर्ता नहीं मिला 'पैरेंट एक्टिविटीनाम' पैकेज में ' एंड्रॉइड '' मैंने एंड्रॉइड-सपोर्ट-लाइब्रेरी को शामिल किया है।पैकेज 'एंड्रॉइड'

यहाँ पूरे AndroidManifest.xml कोड

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.myfirstapp" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk 
    android:minSdkVersion="11" 
    android:targetSdkVersion="15" /> 

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name=".MainActivity" 
     android:label="@string/title_activity_main" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name="com.example.myfirstapp.DisplayMessageActivity" 
     android:label="@string/title_activity_display_message" 
     android:parentActivityName="com.example.myfirstapp.MainActivity" > 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value="com.example.myfirstapp.MainActivity" /> 
    </activity> 
</application> 

+0

[औरroid: parentActivityName का संभावित डुप्लिकेट काम नहीं करता है हालांकि एंड्रॉइड-समर्थन-v4.jar शामिल है] (http://stackoverflow.com/questions/14891032/androidparentactivityname-doesnt-work-although-android-support- v4-jar-is-inclu) –

+0

मुझे लगता है कि एंड्रॉइड मैनुअल थोड़ा भ्रामक है। यदि आप न्यूनतम लक्ष्य 16 का उपयोग नहीं करते हैं, तो निश्चित रूप से विशेषता "parentActivityName" संकलित नहीं होगी। मुझे लगता है कि जवाब यह होना चाहिए था: यदि न्यूनतम एसडीके <16: मेटा-डेटा प्रविष्टि जोड़ें "android.support.PARENT_ACTIVITY"। यदि min-sdk> = 16: विशेषता "parentActivityName" जोड़ें। मुझे एक साथ दोनों का उपयोग करने का कोई कारण नहीं दिख रहा है ... – Shoham

+0

आपको नवीनतम एपीआई रखना होगा ताकि इसे उनके खिलाफ बनाया जा सके। सुनिश्चित करें कि आप एक एपीआई को लक्षित कर रहे हैं जो 15 के बाद है। – Tarik

उत्तर

57

android:parentActivityName Android 4.1 (एपीआई स्तर 16) में पहली बार प्रकट होता है। इसे संकलित करने के लिए आपको नवीनतम 4.1 एसडीके होना चाहिए।

+0

इस मामले में ऐप 4.1 के तहत प्लेटफॉर्म पर चलाएगा? (इस तरह के नोब को मधुमक्खियों के लिए खेद है) –

+1

यदि आप अपने एपीके में 4.1 संगतता लाइब्रेरी शामिल करते हैं और 'एंड्रॉइड: minSdkVersion = "11" 'का उपयोग करते हैं तो यह एपीआई स्तर 11 और बाद में सबकुछ पर चलाएगा। –

+0

फिर [ट्यूटोरियल] (http://developer.android.com/training/basics/firstapp/starting-activity.html) स्पष्ट रूप से बताता है कि निचले एपीआई के साथ संकलन करते समय अज्ञात गुणों को अनदेखा किया जाता है? या तो आपका जवाब सही नहीं है या एंड्रॉइड के एसडीके में एक बड़ी बग है या आधिकारिक ट्यूटोरियल पुराने एसडीके का समर्थन करने के बारे में पूरी तरह गलत हैं। यह भी ध्यान रखें कि लिंक्ड ट्यूटोरियल 'एंड्रॉइड: minSdkVersion = "8" 'का उपयोग करता है, इसलिए एपीआई के लिए काम करने का एक तरीका होना चाहिए <11. – Bakuriu

24

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

इसे बदलने के लिए, अपने प्रोजेक्ट की प्रॉपर्टी पर जाएं (पैकेज एक्सप्लोरर में इसके नाम पर राइट-क्लिक करें और यह आखिरी लेकिन एक विकल्प है), बाएं हाथ कॉलम में एंड्रॉइड का चयन करें और आपके पास प्रोजेक्ट बिल्ड टार्गेट नामक एक सूची होनी चाहिए । तब:

  • उचित लक्ष्य का चयन करें (इस उदाहरण में प्लेटफार्म 4.2.2 के लिए Android 4.2.2 या गूगल एपीआई)

  • अपने मालसूची फ़ाइल सहेजें (यदि आवश्यक हो एक छोटी सी संपादन कर लेने)

एक बार यह सहेजने के बाद ग्रहण प्रक्रिया करेगा और उन त्रुटियों को गायब होना चाहिए क्योंकि ग्रहण को अपने नए निर्माण लक्ष्य में संसाधन पहचानकर्ता मिल गया है।

+0

यह अजीब तरह का है कि मुझे मामूली परिवर्तन करना था और फिर सहेजना था। मैं कभी अनुमान नहीं लगाऊंगा। वैसे भी, मैं एक जगह जोड़ता हूं और फिर इसे हटा देता हूं। –

1

यह त्रुटि तब भी होगी जब आपके पास एसडीके का सटीक संस्करण नहीं है जो नमूना ऐप इसके निर्माण लक्ष्य के रूप में उपयोग करता है। जैसा कि जूलियन ऊपर वर्णित करता है और एक एसडीके चुनने के बाद भी आप स्थानीय रूप से इसे ठीक कर देंगे। SDKs>- ->एंड्रॉयड कुछ ->बिल्ड लक्ष्य 4.1+ के लिए

0

IntelliJ विचार में, आप मंच सेटिंग में बदलने की जरूरत है।

यदि आपको विकल्प नहीं दिखाई देता है, तो आपको एक एसडीके संस्करण 4.1 या उच्चतर (एपीआई स्तर 16+) की आवश्यकता है।

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