<नेटिव-नेटिव-लाइब्रेरी का इस्तेमाल करें>

सिंटैक्स:
<uses-native-library
  android:name="string"
  android:required=["true" | "false"] />
इसमें शामिल है:
<application>
विवरण:

यह वेंडर की ओर से शेयर की गई नेटिव लाइब्रेरी के बारे में बताता है. ऐप्लिकेशन को इससे लिंक करना ज़रूरी है. इस एलिमेंट से सिस्टम को यह पता चलता है कि पैकेज के लिए नेटिव लाइब्रेरी को ऐक्सेस किया जा सकता है.

एनडीके लाइब्रेरी डिफ़ॉल्ट रूप से ऐक्सेस की जा सकती हैं. इसलिए, इनके लिए <uses-native-library> टैग की ज़रूरत नहीं होती.

अगर ऐप्लिकेशन, Android 12 (एपीआई लेवल 31) या इसके बाद के वर्शन को टारगेट करता है, तो सिलिकॉन वेंडर या डिवाइस बनाने वाली कंपनियों की ओर से उपलब्ध कराई गई नॉन-एनडीके नेटिव शेयर की गई लाइब्रेरी को डिफ़ॉल्ट रूप से ऐक्सेस नहीं किया जा सकता. लाइब्रेरी को सिर्फ़ तब ऐक्सेस किया जा सकता है, जब <uses-native-library> टैग का इस्तेमाल करके साफ़ तौर पर अनुरोध किया गया हो.

अगर ऐप्लिकेशन, Android 11 (एपीआई लेवल 30) या इससे पहले के वर्शन को टारगेट करता है, तो <uses-native-library> टैग की ज़रूरत नहीं है. ऐसे में, शेयर की गई कोई भी नेटिव लाइब्रेरी ऐक्सेस की जा सकती है. भले ही, वह NDK लाइब्रेरी हो या न हो.

इस एलिमेंट से, किसी डिवाइस पर ऐप्लिकेशन इंस्टॉल करने पर भी असर पड़ता है. अगर यह एलिमेंट मौजूद है और इसका android:required एट्रिब्यूट true पर सेट है, तो PackageManager फ़्रेमवर्क किसी उपयोगकर्ता को ऐप्लिकेशन इंस्टॉल करने की अनुमति तब तक नहीं देगा, जब तक लाइब्रेरी उपयोगकर्ता के डिवाइस पर मौजूद न हो.

android:required एट्रिब्यूट के बारे में ज़्यादा जानकारी यहां दी गई है.

एट्रिब्यूट:
android:name
लाइब्रेरी फ़ाइल का नाम.
android:required
बूलियन वैल्यू, जिससे यह पता चलता है कि ऐप्लिकेशन को android:name में बताई गई लाइब्रेरी की ज़रूरत है या नहीं.
  • "true": इस लाइब्रेरी के बिना ऐप्लिकेशन काम नहीं करता. सिस्टम, ऐप्लिकेशन को ऐसे डिवाइस पर इंस्टॉल नहीं होने देता जिस पर लाइब्रेरी मौजूद नहीं है.
  • "false": अगर लाइब्रेरी मौजूद है, तो ऐप्लिकेशन इसका इस्तेमाल करता है. हालांकि, अगर ज़रूरी हो, तो इसे लाइब्रेरी के बिना भी काम करने के लिए डिज़ाइन किया गया है. सिस्टम, ऐप्लिकेशन को इंस्टॉल करने की अनुमति देता है. भले ही, लाइब्रेरी मौजूद न हो. अगर "false" का इस्तेमाल किया जाता है, तो लाइब्रेरी के मौजूद न होने की स्थिति को ठीक से हैंडल करने की ज़िम्मेदारी आपकी है.

डिफ़ॉल्ट वैल्यू "true" है.

पहली बार इसमें दिखाया गया:
एपीआई लेवल 31
यह भी देखें: