2013-07-23 5 views
9

Ich frage mich, ob es möglich ist, alle Bibliotheken zu finden, die im Android-Projekt programmatisch enthalten sind. Ich schreibe eine Bibliothek, die Informationen über andere Bibliotheken benötigt, die in dem Projekt enthalten sind. Jede Hilfe wird sehr geschätzt.Wie kann man wissen, welche Bibliotheken programmatisch in einem Android-Projekt enthalten sind?

+0

Es gab eine ähnliche Frage, die Ihnen nützlich sein können: http://stackoverflow.com/questions/8740859/how-to-detect-which-native-shared-libraries-are-loaded- by-android-application – mish

+0

@mish, das betrifft die gemeinsamen Bibliotheken des Systems. Ich brauche den Benutzer Bibliotheken hinzugefügt. – RRK

Antwort

0

ich habe eine einfache funktion gemacht, rufen sie einfach diese funktion auf, wenn sie die details haben wollen.

public static void checkLibrary(){ 
      try { 
       Log.e(" i am in","checklibrary"); 
       Set<String> libs = new HashSet<String>(); 
       String mapsFile = "/proc/" + android.os.Process.myPid() + "/maps"; 
       BufferedReader reader = new BufferedReader(new FileReader(mapsFile)); 
       String line; 
       while ((line = reader.readLine()) != null) { 
        if (line.endsWith(".so")) { 
         int n = line.lastIndexOf(" "); 
         libs.add(line.substring(n + 1)); 
        } 
       } 
       Log.e("Ldd", libs.size() + " libraries:"); 
       for (String lib : libs) { 
        Log.e("Ldd", lib); 
       } 
      } catch (FileNotFoundException e) { 
       // Do some error handling... 
      } catch (IOException e) { 
       // Do some error handling... 
      } 
     } 
+0

Danke für die Antwort. Die obige Methode listet jedoch alle Systembibliotheken auf. Ich suche nach dem Benutzer Bibliotheken in das Projekt hinzugefügt. Kann ich auf diese Lösung improvisieren? – RRK

Verwandte Themen