किसी एप्लिकेशन को स्थापित करने, पैकेज प्रबंधक सेवा .apk स्कैन और प्रपत्र के किसी भी शेयर की गई लाइब्रेरी के लिए दिखेगा:
lib/<primary-abi>/lib<name>.so
यदि कोई मिलता है, तो यह $ APPDIR तहत नकल की जाती है/lib/lib.so, जहां $ APPDIR एप्लिकेशन की विशिष्ट डेटा निर्देशिका से मेल खाता है।
तो कोई भी पाया जाता है, और एक माध्यमिक ABI परिभाषित किया गया है, सेवा तो फार्म के साझा पुस्तकालयों के लिए स्कैन करेगा:
lib/<secondary-abi>/lib<name>.so
तो कुछ भी पाया जाता है, तो यह $ APPDIR तहत नकल की जाती है/lib/lib.so.
प्राथमिक/माध्यमिक अबी के लिए,
एंड्रॉयड प्रणाली क्रम जो ABI (रों) इसका समर्थन करता है पर जानता है। दरअसल, अप करने के लिए दो निर्माण विशिष्ट प्रणाली गुण इंगित करने के लिए उपयोग किया जाता है:
'प्राथमिक' डिवाइस के लिए ABI, मशीन सिस्टम छवि अपने आप में इस्तेमाल किया कोड के लिए इसी।
एक वैकल्पिक 'द्वितीयक' एबीआई, जो कि अन्य एबीआई के अनुरूप है, जो सिस्टम छवि द्वारा भी समर्थित है।
उदाहरण के लिए, एक ठेठ ARMv5TE आधारित डिवाइस केवल 'armeabi' के रूप में प्राथमिक ABI परिभाषित करेगा और एक माध्यमिक एक को परिभाषित नहीं।
दूसरी तरफ, एक सामान्य एआरएमवी 7-आधारित डिवाइस प्राथमिक एबीआई को 'आर्मेबी-वी 7 ए' और द्वितीयक एक 'आर्मेबी' में परिभाषित करेगा क्योंकि यह दोनों के लिए उत्पन्न मूल मूल बाइनरी चला सकता है।
यह तंत्र सुनिश्चित करता है कि लक्ष्य डिवाइस के लिए सबसे अच्छा मशीन कोड स्वचालित रूप से स्थापना समय पर पैकेज से निकाला जाता है।
हे .. क्या आपने इसे हल किया? मुझे एक शंका है। अगर मैं armv7-a arch के लिए ffmpeg का निर्माण करता हूं। क्या मैं इसे आर्मेबी उपकरणों पर उपयोग कर सकता हूं? मैं इसके लिए नया हूँ। मैंने इसे armv7 के लिए बनाया है - एक क्रॉस संकलित। –