2012-01-26 11 views
7

मैं एक एंड्रॉइड एप्लिकेशन पर काम कर रहा हूं जहां मैं बड़ा हेप और हार्डवेयर एक्सेलेरेटेड झंडे रखना चाहता हूं। हालांकि, इसे एंड्रॉइड 2.3 का समर्थन करने की भी आवश्यकता है।क्या मैं अपने मैनिफेस्ट में एपीआई लेवल एक्स विशेषताओं को सेट कर सकता हूं जब मेरा minSdkVersion एक्स से कम है?

मेरे AndroidManifest.xml ऐसा दिखाई देता है:

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

<application 
     android:icon="@drawable/icon" 
     android:label="@string/app_name" 
     android:hardwareAccelerated="true" 
     android:largeHeap="true" 
     > 

हालांकि, ग्रहण परियोजना का निर्माण करने के लिए मना कर दिया और कहा:

error: No resource identifier found for attribute 'hardwareAccelerated' in package 'android' 
error: No resource identifier found for attribute 'largeHeap' in package 'android' 

11, जहां इस तरह के झंडे शुरू किए गए थे करने के लिए targetSdkVersion स्थापना, समस्या का समाधान नहीं करता है।

क्या एंड्रॉइड 2.3 का समर्थन करना संभव है और अभी भी इन झंडे को सेट करना संभव है?

उत्तर

11

हाँ आप एक्सएमएल विशेषताओं को जोड़ सकते हैं लेकिन आपको उन विशेषताओं के लिए आवश्यक एसडीके स्तर के साथ निर्माण करना होगा। पुराने प्लैटफॉर्म केवल उन विशेषताओं को अनदेखा करेंगे। ऐसा करने के लिए ग्रहण में प्रोजेक्ट विशिष्ट एंड्रॉइड सेटिंग्स में Project Build Target से 11 को बदलें।

लेकिन ध्यान देना, अगर आप आप आसानी से कोड है कि स्तर के साथ उपकरणों पर निष्पादित नहीं करता है में पर्ची सकता है एसडीके स्तर 11 के साथ अपनी परियोजना का निर्माण शुरू < 11.

कैसे सक्षम करने के लिए पर एक समान विवरण के लिए Backward Compatiblity देखें installLocation विशेषता (8 स्तर से प्रारंभ) और अभी भी एसडीके स्तर के लिए निर्माण कम से कम 8

+1

एंड्रॉयड: minSdkVersion = "8" एंड्रॉयड: targetSdkVersion = "11" .Go गुण प्रोजेक्ट -> एंड्रॉयड -> का चयन करें Android 3.0। यह त्रुटि का कारण नहीं होगा। हो गया –

+0

ऐसा प्रतीत होता है कि यह वास्तव में आपको (उदा।) BigHeap) विशेषता नहीं देता है यदि लक्ष्य API स्तर 11 नहीं चल रहा है। – Michael