2013-07-23 2 views
9

Je me demandais s'il était possible de trouver par programme toutes les bibliothèques incluses dans le projet Android. J'écris une bibliothèque qui aurait besoin d'informations sur d'autres bibliothèques incluses dans le projet. Toute aide très appréciée.Comment savoir quelles bibliothèques sont incluses dans un projet Android par programmation?

+0

Il y avait une question similaire qui peut vous être utile: http://stackoverflow.com/questions/8740859/how-to-detect-which-native-shared-libraries-are-loaded- par-android-application – mish

+0

@mish, en ce qui concerne les bibliothèques partagées du système. J'ai besoin des bibliothèques ajoutées par l'utilisateur. – RRK

Répondre

0

J'ai fait une simple fonction, il suffit de faire un appel à cette fonction lorsque vous voulez avoir les détails.

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

Merci pour la réponse. Toutefois, la méthode ci-dessus répertorie toutes les bibliothèques système. Je suis à la recherche des bibliothèques ajoutées par l'utilisateur dans le projet. Puis-je improviser sur cette solution? – RRK

Questions connexes