2010-01-06 15 views
6

हमें मेनिफेस्ट फ़ाइल और संपत्ति "एंड्रॉइड: minSdkVersion" से संबंधित समस्या है। समस्या यह है: यदि हमारा प्लेटफॉर्म 2.0 है और हम संपत्ति "एंड्रॉइड: minSdkVersion = 3" (3 = sdk 1.5) का उपयोग करते हैं तो ग्राफिक्स दूषित हो जाते हैं (विवरण में, एप्लिकेशन का संकल्प मूल के 2/3 भाग में कम हो जाता है आकार, यह है, जब संकल्प 480x720 होना चाहिए, यह 320x480 में हो जाता है)। यह एंड्रॉइड एमुलेटर पर और डिवाइस पर Droid/मीलस्टोन (जो प्लेटफॉर्म 2.0 हैं) पर हो रहा है। जब हम संपत्ति को "एंड्रॉइड: minSdkVersion = 4" (4 = sdk 1.6) पर स्विच करते हैं तो समस्या हल हो जाती है, लेकिन जब हम प्लेटफॉर्म 1.5 पर उस संस्करण को रखना चाहते हैं, तो एंड्रॉइड हमें इसे इंस्टॉल करने की अनुमति नहीं देता है। यह 2.0 एसडीके के भीतर ग्राफिक्स से संबंधित किसी भी संघर्ष, या मैनिफेस्ट में "एंड्रॉइड: minSdkVersion" के आसपास किसी भी ज्ञात समस्या को जानने में हमारी सहायता करेगा।समस्याएं minSdkVersion 1.5

धन्यवाद!

उत्तर

5

यदि आप targetSdkVersion के साथ-साथ minSdkVersion निर्दिष्ट करते हैं तो आपका एप्लिकेशन सभी प्लेटफ़ॉर्म पर सही ढंग से काम करना शुरू कर देगा।

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

यह Android API Levels page in the Android Developer documentation में शामिल है:

तो इस तरह अपने मेनिफ़ेस्ट में एक प्रविष्टि है।

+1

यह काम करता है लेकिन एसडीके 1.6 का उपयोग कर रहा है (हम 1.5 एसडीके संस्करण का उपयोग कर संकलन कर रहे थे)। आपके हीलप के लिए धन्यवाद !!! – Tebam

4

मुझे लगता है कि आप specifying different assets for different screen densitiesres/drawable-mdpi, res/drawable-hdpi जैसी निर्देशिकाओं का उपयोग कर रहे हैं?

एंड्रॉइड 1.6 (एपीआई स्तर 4) कई स्क्रीन घनत्वों का समर्थन करने के लिए एसडीके का पहला संस्करण था, इसलिए यह इन निर्देशिका नामों का महत्व जानता है और इसलिए आपके डिवाइस के res फ़ोल्डर्स से सही ड्रॉ करने योग्य सफलतापूर्वक चुन सकता है पर चल रहा है।

हालांकि, यदि आप एंड्रॉइड 1.5 डिवाइस (एपीआई स्तर 3) पर इस तरह से विकसित एक एप्लिकेशन चलाते हैं, तो ढांचे को यह नहीं पता कि इसे केवल मध्यम डीपीआई संसाधनों का उपयोग करना चाहिए (क्योंकि कोई एंड्रॉइड 1.5 डिवाइस रिलीज़ नहीं है मध्यम डीपीआई स्क्रीन (AFAIK) के अलावा कुछ भी के साथ)। तो इस मामले में, ढांचा आपके एपीके में उपलब्ध सभी संसाधनों से यादृच्छिक रूप से चुनने का अंत हो सकता है, चाहे वे उच्च घनत्व स्क्रीन या मध्यम घनत्व स्क्रीन, या जो कुछ भी हो।

हालांकि, मैंने आपके विपरीत रिवर्स को नहीं देखा है, यानी एक 2.0 डिवाइस एक अलग स्क्रीन घनत्व के लिए ड्रॉबल्स का चयन करने या मानने के लिए प्रतीत होता है।

मैं सुनिश्चित करता हूं कि आपका res निर्देशिका लेआउट सही है, और आप अपने प्रत्येक लेआउट में density-independent measurements का उपयोग कर रहे हैं।

लेकिन यदि आप एकाधिक स्क्रीन संकल्पों और घनत्वों का समर्थन करना चाहते हैं और एक एकल एपीके में एंड्रॉइड 1.5 डिवाइस का समर्थन करते हैं, तो मुझे विश्वास नहीं है कि यह संभव है।

+2

आप एंड्रॉइड 1.5 को संस्करण विनिर्देशों का उपयोग करके अन्य घनत्व के लिए संसाधन निर्देशिकाओं का उपयोग करने से रोक सकते हैं। उदाहरण: "res/drawable-hdpi-v4"। –

+0

आह ठीक है, इसके लिए धन्यवाद; मैंने हाल ही में इसके बारे में पढ़ा है, लेकिन कभी एहसास नहीं हुआ कि '-v4' (आदि) संशोधक 1.5 या संभवतः पहले से अस्तित्व में रहा है। –

0

एकाधिक स्क्रीन घनत्व का समर्थन करने के लिए इस टैग को अपने AndroidManifest.xml में जोड़ें।

<supports-screens 
android:largeScreens="true" 
android:normalScreens="true" 
android:smallScreens="true" 
android:anyDensity="false" /> 
संबंधित मुद्दे