2012-05-24 14 views
13

तो, मैं थोड़ा उलझन में हूं, मैंने सोचा कि मुझे प्रोजेक्ट गुणों में android:minSdkVersion, android:targetSdkVersion और target का अर्थ समझा गया है। project->properties->Android->Project Build Target मेंएंड्रॉइड के बीच संबंध: minSdkVersion, android: targetSdkVersion और "target"

target=android-15 

:

अभी मैं करने के लिए इन सेट मिला:

android:minSdkVersion="7" 
    android:targetSdkVersion="13" 

और।

जब मैं एंड्रॉइड 2.3.3 इंस्टॉल किए गए डिवाइस पर इस एप्लिकेशन एप्लिकेशन को चलाने का प्रयास करता हूं, तो मुझे डिवाइस के नाम के खिलाफ एक लाल क्रॉस दिखाई देता है लेकिन एप्लिकेशन उस पर ठीक नहीं चलता है।

मैं क्या याद आ रही है? अगर मैं 15 के खिलाफ निर्माण कर रहा हूं, तो यह एंड्रॉइड -7 पर कैसे चल रहा है? इस भ्रम ने कहा कि मैंने अपने ऐप में एडमोब को एकीकृत करने के बाद कहा है कि इसमें न्यूनतम एसडीके स्तर 13 की आवश्यकता है।

उत्तर

22

एक समय में एक का वर्णन करने के लिए:

  • एंड्रॉयड: minSdkVersion गूगल अपने डिवाइस के आधार पर उपयोगकर्ता के लिए खेलते हैं फिल्टर क्षुधा मदद करता है। उदाहरण के लिए, minSdkVersion = "7" के साथ, कोई डिवाइस जो किसी 6 डिवाइस का समर्थन करता है, उसे Google Play पर आपका ऐप नहीं दिखाई देगा, और इस प्रकार इसे डाउनलोड नहीं करेगा, यह पता चलता है कि यह काम नहीं करता है, और खराब समीक्षा छोड़ देता है:)

  • एंड्रॉइड: targetSdkVersion डिवाइस के लिए एक सिग्नल है जिसके बारे में आपके ऐप का एपीआई परीक्षण किया गया था। मंच के नए संस्करणों के साथ डिफ़ॉल्ट रूप से नए व्यवहार अक्सर उपलब्ध होते हैं, जो प्लेटफ़ॉर्म के उस संस्करण को कम से कम लक्षित करते हैं। उदाहरण के लिए, अपने लक्ष्य SdkVersion को 11 या उच्चतर पर सेट करके, आपको "शर्म की विरासत मेनू बटन" के बजाय एक्शनबार (हनीकॉम और अप डिवाइस के लिए) में ओवरफ़्लो मेनू मिलता है।

  • project.properties लक्ष्य आपके स्थानीय निर्माण प्रणाली के लिए एक सिग्नल है जिसके बारे में प्लेटफार्म के संस्करण के बारे में आपको अपना कोड संकलित करना चाहिए। आम तौर पर लक्ष्य एसडीकेवर्सन के लिए सेट किए गए किसी भी चीज़ को सेट करना सबसे अच्छा है।

मैं क्या याद आ रही है? अगर मैं 15 के खिलाफ निर्माण कर रहा हूं, तो यह एंड्रॉइड -7 पर कैसे चल रहा है?

एंड्रॉइड इस कारण से पिछली संगतता बनाए रखता है। जब आप प्लेटफ़ॉर्म के संस्करण 15 में जोड़े गए API का उपयोग करते हैं, तो जाहिर है कि वे पुराने डिवाइस चलाने वाले डिवाइस पर नहीं होंगे।

हालांकि, नए प्लेटफार्मों पर जोड़े गए सुविधाओं का लाभ उठाने के लिए अपने आवेदन को इस तरह से डिजाइन करने के लिए संभव है (और प्रोत्साहित), लेकिन "शानदार ढंग से अपमानित करें" जैसे कि आपका आवेदन पुराने लोगों पर चल रहा है। इस विषय पर एक एंड्रॉइड ट्रेनिंग सबक है, जिसे Supporting Different Platform Versions कहा जाता है।

1

android:minSdkVersion="7" का अर्थ है कि आप के तहत डिवाइस में इस ऐप को नहीं चला सकते हैं। android:targetSdkVersion="13" ऐप इस एपीआई को लक्षित करने के लिए बनाया गया है। निर्माण लक्ष्य 13 पर सेट किया जाएगा और 13 तक उपलब्ध विधियों और सामान काम करेंगे।

http://developer.android.com/guide/topics/manifest/uses-sdk-element.html

1

एंड्रॉयड: targetSdkVersion = "13" इंगित करता है लक्ष्य के रूप में एसडीके 13 रखते हुए, पूरी क्षमता

एंड्रॉयड के लिए अपनी सुविधा का उपयोग करने से है कि इस आवेदन का निर्माण कर दिया गया है: minSdkVersion = "7" इंगित करता है कि यह एसडीके 7 और ऊपर काम करता है, लेकिन कुछ सुविधाओं को कम एसडीके में उपलब्ध नहीं होने पर इसे हटाया जा सकता है। यानी (कम एसडीके 13 से)

+0

मुझे लगता है कि मेरा भ्रम इस तथ्य से उत्पन्न होता है कि ऊपर स्क्रीन पर स्क्रीन 2.3.3 डिवाइस के खिलाफ एक लाल क्रॉस है। मुझे लगता है कि यह मुझे यह बताने की कोशिश कर रहा है कि ऐप इस डिवाइस पर नहीं चलेगा और फिर भी यह करता है। –

+0

क्या आपने दोनों ग्रहण और एमुलेटर को पुनरारंभ करने का प्रयास किया है ... दोनों। ? –

+0

यूप। हमेशा एक ही। –

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