Ứng dụng của tôi sử dụng thư viện được chia sẻ riêng (.so), tôi đang tải nó bằng cách gọi System.loadLibrary("xxx")
. Nó tải tốt và tôi có thể gọi các phương pháp bản địa.Cách phát hiện thư viện được chia sẻ nào được tải bởi ứng dụng Android
Tôi tự hỏi liệu có khả năng phát hiện ứng dụng thư viện dùng chung nào không. Tôi đã cố gắng liệt kê các thư viện được tải bởi PackageManager:
PackageManager pm = getPackageManager();
String applicationPackage = this.getApplicationInfo().packageName;
ApplicationInfo ai = pm.getApplicationInfo(applicationPackage, PackageManager.GET_SHARED_LIBRARY_FILES);
String[] soFiles = ai.sharedLibraryFiles;
nhưng nó trả về một danh sách trống. Nó chỉ hoạt động nếu ứng dụng của tôi sử dụng một số thư viện .jar như com.google.android.maps mà tôi chỉ định bằng uses-library
trong thẻ ứng dụng của tệp kê khai.
Tôi có thể liệt kê các thư viện .so như thế nào?