दिलचस्प पोस्ट
आईई 7 और सीएसएस तालिका-सेल संपत्ति धीमे प्रदर्शन MySql पायथन: विशिष्ट अपवाद को पकड़ने ओपनएमपी समय और घड़ी () दो अलग-अलग परिणामों की गणना करता है एक निष्पादन योग्य प्रोग्राम (प्रक्रिया) के मेमोरी लेआउट पर अधिक जानकारी जावास्क्रिप्ट – झंडा तक सच = रुको दो तिथियों (दिनों की संख्या) के बीच अंतर की गणना करें? अंतिम सरणी सूची का क्या अर्थ है? क्या एक नाशक कहा जाता है जब कोई वस्तु दायरे से बाहर हो जाती है? मैट्रिक्स में एन के सबसे बड़े तत्वों के सूचकांक प्राप्त करें ASP.NET MVC ग्लोबल वैरिएबल वेबकिट: सीएसएस स्केल + अनुवाद 3 डी के साथ ब्लररी टेक्स्ट जावास्क्रिप्ट के साथ आगंतुक भाषा और देश कोड प्राप्त करें (क्लाइंट-साइड) दोहरे संदर्भ में नहीं किया जा सकता है? निरंतर सूचक बनाम पॉइंटर स्थिर मूल्य पर

APP_PLATFORM, एंड्रॉइड के बीच संबंध क्या है: minSdkVersion और android: targetSdkVersion?

मैं एक एंड्रॉइड ऐप विकसित कर रहा हूं जो एनडीके सुविधाओं का उपयोग करता है मेरा ऐप android:minSdkVersion को परिभाषित करता है android:minSdkVersion और android:targetSdkVersion AndroidManifest.xml में APP_PLATFORM और APP_PLATFORM / APP_PLATFORM में APP_PLATFORM

मेरी वर्तमान समझ है कि android:minSdkVersion decalres न्यूनतम समर्थित ओएस संस्करण, android:targetSdkVersion जावा पुस्तकालय संस्करण के खिलाफ जुड़ा हुआ घोषित करता है, और APP_PLATFORM C ++ लाइब्रेरी के खिलाफ जुड़ा हुआ घोषित करता है।

दो प्रश्न: 1) क्या मेरा अदम सही है? 2) क्या यह APP_PLATFORM लिए बेहतर है कि android:minSdkVersion ? या वे एक दूसरे के बराबर होना चाहिए?

मेरे प्रश्न का कारण: मुझे एपीआई> = 10 वाले उपकरणों के लिए मेरा ऐप उपलब्ध होना चाहिए, लेकिन मुझे NDK फ़ंक्शंस (जैसे AMotionEvent_getAxisValue ) का उपयोग करना होगा जो AMotionEvent_getAxisValue में platforms\android-13 फ़ोल्डर में परिभाषित हैं। इसलिए मैं android:minSdkVersion=10 उपयोग करता हूं android:minSdkVersion=10 और APP_PLATFORM=13 प्रोजेक्ट सफलतापूर्वक संकलित करता है, लेकिन क्या यह एपीआई 10-12 उपकरणों पर चलाया जा सकता है?

Solutions Collecting From Web of "APP_PLATFORM, एंड्रॉइड के बीच संबंध क्या है: minSdkVersion और android: targetSdkVersion?"

  1. android:minSdkVersion न्यूनतम ओएस संस्करण है जो आपके ऐप की अपेक्षा करता है।

  2. android:targetSdkVersion अनिवार्य रूप से अधिकतम ओएस संस्करण है जिसके साथ आप काम करने के लिए अपने ऐप को डिज़ाइन कर चुके हैं। यहां बताया गया है कि यह कैसे काम करता है। कल्पना कीजिए कि आपने एपीआई 1 के साथ अपने ऐप को ठीक किया है और आप android:targetSdkVersion साथ अपना ऐप रिलीज करते हैं android:targetSdkVersion = 1 फिर Google कुछ एपीआई के व्यवहार में परिवर्तन के साथ एपीआई 20 रिलीज करने का निर्णय लेता है, लेकिन वे पुराने एप्लिकेशन (उन्हें तोड़ने से रोकने के लिए) के व्यवहार को बदलना नहीं चाहते हैं। इसलिए जब आपका ऐप शुरू हो जाता है, तो एंड्रॉइड देखता है कि आपके ऐप में targetSdkVersion = 1 है, इसलिए यह आपको पुरानी एपीआई व्यवहार देता है, लेकिन अगर कोई अन्य ऐप targetSdkVersion = 20 बताता है, तो एंड्रॉइड इसे नया एपीआई व्यवहार देगा।

  3. APP_PLATFORM मूल हेडर और लाइब्रेरीज़ का संस्करण है जो APP_PLATFORM आपके मूल कोड को संकलित करेगा। यदि आप किसी विशिष्ट मान के लिए APP_PLATFORM सेट APP_PLATFORM और आप API का उपयोग करते हैं जो केवल उस प्लेटफ़ॉर्म संस्करण में उपलब्ध होते हैं, तो आपका ऐप पुराने प्लेटफ़ॉर्म पर ठीक से नहीं चलता होगा तो APP_PLATFORM एक न्यूनतम मूल्य है इसका समाधान कम मान का उपयोग करना है और उन नए एपीआई का इस्तेमाल नहीं करना है या रनटाइम पर निर्णय लेने वाले कोड को लिखना है, जो कि नए एपीआई कॉल करना है या नहीं (और संभवतः dlsym / dlsym उपयोग करें)।

ऐसा लगता है कि सामान्य तौर पर यह APP_PLATFORM एक APP_PLATFORM मान का उपयोग करने का अर्थ नहीं है android:minSdkVersion , जब तक कि आप कुछ खास नहीं करते (जैसे सावधान रहना, रनटाइम पर संस्करण की जांच करके नए एपीआई कॉल न करें, प्लस को सुनिश्चित न करें नए एपीआई के लिए लिंक और बजाय dlopen / dlsym का उपयोग कर)

इसलिए यदि आप APP_PLATFORM=13 उपयोग करते हैं और आप AMotionEvent_getAxisValue कहते हैं (जो पहले के प्लेटफॉर्म शीर्षकों में नहीं है, जिसका अर्थ है कि यह AMotionEvent_getAxisValue पर रनटाइम पर उपलब्ध नहीं है), आपका ऐप एपीआई के साथ उपकरणों पर नहीं चलेंगे <13। एक चेतावनी हो सकता है कि अगर AMotionEvent_getAxisValue वास्तव में पुराने संस्करणों पर उपलब्ध है, लेकिन यह सिर्फ हेडर / लाइब्रेरी फ़ाइलों में नहीं था या यह सिर्फ दस्तावेज नहीं था। लेकिन मुझे नहीं पता कि क्या इस विशेष एपीआई के लिए मामला है (मूल रूप से, इस बात की अधिक शोध और जोखिम विश्लेषण की आवश्यकता होगी कि आप असमर्थित कुछ पर निर्भर होना चाहते हैं)।

आप न्यूनतम के बारे में सही हैं मुझे यकीन नहीं है कि लक्ष्य क्या दर्शाया जाना चाहिए, मुझे लगता है कि यह लक्ष्य एसडीके की कुछ विशेषताएं देता है, लेकिन यह भी सुनिश्चित करता है कि ऐप न्यूनतम एसडीके के साथ चलेगा।