2013-08-17 10 views
24

मुझे एंड्रॉइड विकास के स्विंग में इतनी मुश्किल समय क्यों मिल रही है? मैं वर्षों से विभिन्न भाषाओं में विकास कर रहा हूं और, किसी कारण से, एंड्रॉइड के साथ "जीज़-ए-अभी भी महसूस-ए-कुल-नोब" चरण से परे नहीं लग रहा है।एंड्रॉइड प्रोजेक्ट में समर्थन पुस्तकालयों को जोड़ना

तो मैं अपने एंड्रॉइड 2.3.3 प्रोजेक्ट में एक्शन बार जोड़ने की कोशिश कर रहा हूं। कोई समस्या नहीं, है ना? एंड्रॉइड डेवलपर्स वेबसाइट के पास एक अच्छा और स्पष्ट लेख है जो समझाता है कि यह कैसे करना है। बेशक इसमें एपकोपेट v7 समर्थन लाइब्रेरी जोड़ना शामिल है। कोई समस्या नहीं, यहां तक ​​कि यह this page पर चरण-दर-चरण दस्तावेज है। लेकिन, एंड्रॉइड में इस तरह के हर तरह के अभ्यास के साथ, मुझे लगता है कि आप जो भी पेज आपको करने के लिए कहते हैं, वही कर सकते हैं, फिर भी यह बाद में त्रुटियों को ठीक करने के लिए गुगलिंग के बिना महत्वपूर्ण काम नहीं करेगा।

इसलिए मैंने उपरोक्त लिंक में "संसाधनों के साथ पुस्तकालय जोड़ना" अनुभाग में "ग्रहण का उपयोग" के तहत दिए गए चरणों का पालन किया है। मुझे मिली पहली त्रुटि लक्ष्य 'एंड्रॉइड -16' को हल करने में असमर्थ है। कोई समस्या नहीं, यह मैं खुद के लिए समझ सकता हूं लेकिन मैं उत्सुक हूं, क्या मेरे द्वारा अनुसरण किए जा रहे दस्तावेज़ों में कुछ भी है जो मुझे सुझाएगा कि मुझे एंड्रॉइड 4.1.2 (API16) स्थापित करने की आवश्यकता है? क्या मैंने अभी इस पर सही पढ़ा है या क्या मुझे खुद से पता होना चाहिए कि, जो मैं करने की कोशिश कर रहा हूं, उसे करने के लिए मुझे API16 की आवश्यकता होगी?

कोई बात नहीं, कम से कम मैं इसे ठीक कर सकता हूं लेकिन फिर मुझे एक नई समस्या मिलती है। जैसे ही मैं त्रुटियों के साथ, पहले एक जा रहा है अपने प्रोजेक्ट के लिए android-समर्थन-v7-compat पुस्तकालय जोड़ सकते हैं और ठीक बटन क्लिक के रूप में, सांत्वना उत्पादन रोशनी:

C:...\android-support-v7-appcompat\res\values-v14\styles_base.xml:24: error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Holo.ActionBar'.

और अन्य 60 अजीब त्रुटियाँ हैं समान लेकिन अलग दिए गए नामों के लिए।

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

उत्तर

22

ठीक है, मुझे लगता है कि मुझे एक उत्तर पोस्ट करना चाहिए क्योंकि मैंने अंततः अपनी समस्या हल करने में कामयाब रहा है।

यह पता चला है कि मुझे एंड्रॉइड 4.2.2 के निर्माण लक्ष्य का उपयोग करना है, इस तथ्य के बावजूद कि मैं विशेष रूप से एंड्रॉइड 2.3.3 के लिए विकसित कर रहा हूं - मेरा मतलब है, यही कारण है कि मैं समर्थन पुस्तकालयों का उपयोग कर रहा हूं। मुझे कल्पना है कि यह संभव हो सकता है कि कुछ अन्य निचले लक्ष्य (लेकिन 2.3.3 से अधिक) अभी भी काम करेंगे, मैंने अभी तक स्थापित उच्चतम उपयोग किया है और यह समस्या हल हो गई है।

एंड्रॉइड डेवलपर्स वेबसाइट पर चरण-दर-चरण निर्देशों का पालन करने से मुझे यह कैसे पता होना चाहिए कि यह मेरे लिए एक रहस्य है। लक्ष्य SdkVersion को बदलने का प्रयास करने का कारण page referenced in the question में अंतिम खंड की वजह से था। यह पढ़ता है "यदि आप समर्थन पुस्तकालय के साथ एंड्रॉइड एपीआई के पहले संस्करण में अपने मौजूदा एप्लिकेशन की पिछड़े संगतता में वृद्धि कर रहे हैं, तो अपने एप्लिकेशन के मैनिफेस्ट को अपडेट करना सुनिश्चित करें।" अब मैं अपने मौजूदा आवेदन की पिछड़े संगतता में वृद्धि नहीं कर रहा हूं। मैं एक मौजूदा एप्लिकेशन बदल रहा हूं जो 2.3.3 को एक्शन बार शामिल करने में सक्षम होने के लिए लक्षित करता है (ऐसा लगता है कि "आगे संगतता" की तरह)। मैंने targekSdkVersion को अपग्रेड करने का प्रयास किया, हालांकि मैं विचारों से बाहर था और देखो और देखा, यह काम किया।

+1

वैसे यह एक अच्छी पोस्ट है जो किसी की मदद करने के लिए बाध्य है। – IanB

+7

बस अगर यह किसी की मदद करता है ... मैं एक नई परियोजना के लिए एक नए वर्कस्पेस में एपकोपेट लाइब्रेरी प्रोजेक्ट बना रहा था और मुझे कोड आयात करने पर यह "लक्ष्य को हल करने में असमर्थ" एंड्रॉइड -16 "त्रुटि मिली है। मुझे जो समाधान मिला है वह एंड्रॉइड को बदलना था: targetSdkVersion जो मुझे मेरी मुख्य परियोजना (18 एपीआई के साथ 18) के लिए चाहिए। तब मैंने बस एक बार फिर पुस्तकालय परियोजना को बंद कर दिया और सब कुछ ठीक था। –

+0

@ Marina.Eariel आपकी विधि ने मेरे लिए बेकार ढंग से काम किया :) – kpsfoo

0

आप सभी महत्वपूर्ण दस्तावेज और प्रासंगिक अनुभाग "संसाधनों के साथ पुस्तकालयों को जोड़ने" केंद्रित किया है:

http://developer.android.com/tools/support-library/setup.html

त्रुटि पता चलता है कि अपनी परियोजना के लिए इन संसाधनों को खोजने के लिए सक्षम नहीं है। कृपया दोबारा जांच करें निम्नलिखित:

  1. आप जाँच कर ली है "पुस्तकालय है" पुस्तकालय परियोजना

  2. आप लाइब्रेरी प्रोजेक्ट में जार उस अनुभाग

  3. आपके पास में वर्णित के रूप निर्यात पर लाइब्रेरी प्रोजेक्ट को आपके ऐप प्रोजेक्ट के संदर्भ में जोड़ा गया

  4. आपने एंड्रॉइड-सपोर्ट-v4.jar को अपने ऐप प्रोजेक्ट में अपने libs फ़ोल्डर में जोड़ा है

यदि यह सब निश्चित रूप से सही है, तो किसी भी त्रुटि संदेशों के लिए ग्रहण की जांच करें - क्या यह लाइब्रेरी प्रोजेक्ट या ऐप प्रोजेक्ट है जो प्रोवर्बियल क्रिसमस ट्री की तरह रोशनी करता है?

+0

धन्यवाद लेकिन नहीं, यह उनमें से कोई नहीं है। मैंने जांच की है और दोबारा जांच की है कि वे सभी सही हैं। यह ऐप प्रोजेक्ट है जो त्रुटियों के साथ रोशनी करता है, जैसे ही मैंने इसे लाइब्रेरी प्रोजेक्ट जोड़ा है। –

3

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

मैं उपयोग कर रहा था:

<style name="AppBaseTheme" parent="android:Theme.AppCompat"> 

मैं कहाँ का इस्तेमाल किया है चाहिए:

<style name="AppBaseTheme" parent="@style/Theme.AppCompat"> 

मेरे गलती विषय के संदर्भ में था।

+1

एलओएल।यह समाधान नहीं है, लेकिन जैसा भी होता है, मैंने अपनी समस्या को जल्द से जल्द तय नहीं किया था (जब मैं एक और समस्या को अपने सिर पर रखता हूं, जिसके लिए यह समाधान था :-) –

0

सबसे पहले चेक करें कि आपने developers site पर बताए गए सभी वर्णित चरणों को किया है या नहीं। फिर, त्रुटियों के लिए:

Unable to resolve target 'android-16'

सुनिश्चित करें कि आप API16 स्थापित किया है सुनिश्चित करें, यह त्रुटियों होता है अगर आप अपने प्रकट में से 16 अपने targetsdk का उल्लेख किया है, जबकि API16 के लिए एसडीके स्थापित नहीं है। आप या तो एपीआई स्थापित कर सकते हैं या अपने प्रोजेक्ट के targetApi को न्यूनतम आवश्यक संस्करण में संपादित कर सकते हैं, समर्थन लाइब्रेरी के लिए, मुझे लगता है कि एपीआई 11 न्यूनतम आवश्यक एंड्रॉइड संस्करण है।

android:Widget.Holo.ActionBar

यह त्रुटि आपके प्रोजेक्ट में targetsdk तय होने के बाद भी तय की जानी चाहिए। Holo.ActionBar का उपयोग करने के बाद से आपको अपनी परियोजना को न्यूनतम समर्थित एपीआई स्तर यानी लक्षित करने की आवश्यकता होगी। 11 या उच्चतर।

+0

यह त्रुटि भी होती है अगर हम सीधे एपीआई स्तर 18 को लक्षित कर रहे हैं और एपीआई स्तर 16 स्थापित नहीं है। – kpsfoo

1

मैंने पाया कि लाइब्रेरी प्रोजेक्ट के लिए एंड्रॉइड लक्ष्य 2.3.3 पर सेट करना एंड्रॉइड-समर्थन-v7-appcompat इस समस्या को हल करता है। आपको अपने प्रोजेक्ट के लक्ष्य को उच्चतम सेट करने की आवश्यकता नहीं है, लेकिन लाइब्रेरी का लक्ष्य कम है।

0

मुझे इसी तरह की समस्याएं मिलीं। एपीआई 18, एडीटी का उपयोग करना।

"लक्ष्य को हल करने में असमर्थ" एंड्रॉइड -16 'समस्या' को हल करने के लिए, मैं आयात lib प्रोजेक्ट को हटाता हूं और ट्यूटोरियल कहता हूं दोहराता हूं।

तब मैंने पाया कि मैं वास्तव में अपनी परियोजना में लाइब्रेरी को "जोड़" नहीं सकता था। (निर्देश "लाइब्रेरी फलक में, जोड़ें पर क्लिक करें।" there वह विवरण नहीं है। 1. आपकी प्रोजेक्ट में -> गुण -> जावा बिल्ड पथ -> पुस्तकालय -> लाइब्रेरी जोड़ें ...-> एंड्रॉयड क्लासपाथ कंटेनर -> lib परियोजना का चयन करें 2. अपनी परियोजना में -> गुण -> एंड्रॉयड -> जोड़ने ... -> lib चुनें ->

चियर्स

लागू
0

यहाँ मैं कैसे किया जाता है त्रुटि से परहेज किया, "v7 जोड़ते समय, लक्ष्य 'एंड्रॉइड -16' को हल करने में असमर्थ।

सबसे पहले, मैंने ग्रहण में संसाधनों के साथ समर्थन पुस्तकालयों को जोड़ने के निर्देशों का पालन किया। चरण 4 के बाद, मैंने फिनिश पर क्लिक किया। जब मैंने त्रुटि संदेश देखा, android-support-v7-appcompat] लक्ष्य 'android-16' को हल करने में असमर्थ।

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

इस बार मैंने दूसरी बार किसी भी अलग बॉक्स की जांच नहीं की। लेकिन, मुझे चरण 4 में कोई त्रुटि नहीं मिली। कौन कह सकता है क्यों?

धन्यवाद, डेवाल्ड, आपने इस प्रश्न में मेरे जैसा ही निराशा व्यक्त की है। क्या अनुभव एकमात्र रास्ता है?

0

यदि आपकी कुछ संसाधन XML फ़ाइलों को उनके संबंधित AppCompat संदर्भ नहीं मिल पा रहे हैं, तो सुनिश्चित करें कि आप अपने प्रोजेक्ट गुणों में समर्थन लाइब्रेरी भी जोड़ सकते हैं। परियोजना

2.) गुण का चयन में अपनी परियोजना पर

1.) राइट क्लिक: आप इस से करते हैं। (मेनू के नीचे)

3.), नई पॉप अप विंडो

4.) पुस्तकालयों खंड में की बाएं हाथ की ओर मेनू पर Android क्लिक करें "जोड़ें" बटन

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

6 ।) वांछित पुस्तकालयों के बगल में एक हरा चेकमार्क होने के बाद, सुनिश्चित करें कि पुस्तकालय अनुभाग में "लाइब्रेरी" विकल्प चुना गया है।

7.) लागू करें पर क्लिक करें।

8.) पॉप अप मेनू बंद करें।

यदि यह काम नहीं करता है, तो मुझे बताएं और मैं आपकी मदद कर सकता हूं। मैंने समस्या पर तीन घंटे बिताए, इसलिए मुझे बहुत सारी चीजें पता हैं जो सेट अप के साथ गलत हो सकती हैं।

0

प्रोजेक्ट -> सही का निशान का निर्माण स्वत:

परियोजना पर जाएं -> स्वच्छ ..., स्वच्छ दोनों पुस्तकालय परियोजना और अपने अनुप्रयोग परियोजना

निर्यात जबकि स्वचालित रूप से निर्माण के रूप में हस्ताक्षरित APK अपने अनुप्रयोग है अभी भी अक्षम

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