2013-07-23 10 views
9

Zastanawiam się, czy możliwe jest programowe znalezienie wszystkich bibliotek uwzględnionych w projekcie Android. Piszę bibliotekę, która potrzebuje informacji o innych bibliotekach uwzględnionych w projekcie. Każda pomoc doceniona.Jak programowo programowo uwzględnić biblioteki w projekcie Android?

+0

Było podobne pytanie, które mogą być pomocne dla Ciebie: http://stackoverflow.com/questions/8740859/how-to-detect-which-native-shared-libraries-are-loaded- by-android-application – mish

+0

@mish, dotyczy bibliotek współużytkowanych systemu. Potrzebuję dodanych przez użytkownika bibliotek. – RRK

Odpowiedz

0

Wykonałem prostą funkcję, wystarczy zadzwonić do tej funkcji, gdy chcesz mieć szczegóły.

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

Dzięki za odpowiedź. Jednak powyższa metoda zawiera listę wszystkich bibliotek systemowych. Szukam użytkownika dodanych bibliotek do projektu. Czy mogę improwizować na tym rozwiązaniu? – RRK

Powiązane problemy