द्वारा कौन से देशी साझा पुस्तकालयों को लोड किया गया है, यह पता लगाने के लिए कि मेरा एप्लिकेशन देशी साझा लाइब्रेरी (.so) का उपयोग करता है, मैं इसे System.loadLibrary("xxx")
पर कॉल करके लोड कर रहा हूं। यह ठीक लोड करता है और मैं देशी तरीकों को बुला सकता हूं।एंड्रॉइड एप्लिकेशन
मुझे आश्चर्य है कि साझा पुस्तकालयों के अनुप्रयोगों का पता लगाने के लिए कोई संभावना है या नहीं। मैं PackageManager से भरी हुई पुस्तकालयों की सूची करने की कोशिश की:
PackageManager pm = getPackageManager();
String applicationPackage = this.getApplicationInfo().packageName;
ApplicationInfo ai = pm.getApplicationInfo(applicationPackage, PackageManager.GET_SHARED_LIBRARY_FILES);
String[] soFiles = ai.sharedLibraryFiles;
लेकिन यह एक खाली सूची देता है। यह केवल तभी काम करता है जब मेरा एप्लिकेशन com.google.android.maps जैसे कुछ .jar पुस्तकालयों का उपयोग करता है जिसे मैं मैनिफेस्ट के अनुप्रयोग टैग में uses-library
द्वारा निर्दिष्ट करता हूं।
मैं पुस्तकालयों को कैसे सूचीबद्ध कर सकता हूं?