La mia applicazione utilizza la libreria condivisa nativa (.so), la sto caricando chiamando lo System.loadLibrary("xxx")
. Si carica bene e posso chiamare i metodi nativi.Come rilevare quali librerie native native sono caricate dall'applicazione Android
Mi chiedo se sia possibile rilevare quale applicazione di librerie condivise utilizza. Ho provato ad elencare le librerie caricate da PackageManager:
PackageManager pm = getPackageManager();
String applicationPackage = this.getApplicationInfo().packageName;
ApplicationInfo ai = pm.getApplicationInfo(applicationPackage, PackageManager.GET_SHARED_LIBRARY_FILES);
String[] soFiles = ai.sharedLibraryFiles;
ma restituisce una lista vuota. Funziona solo se la mia applicazione utilizza alcune librerie .jar come com.google.android.maps che specifico per uses-library
nel tag dell'applicazione del manifest.
Come posso elencare le librerie .so?