Мне было интересно, можно ли программно найти все библиотеки, которые включены в проект Android. Я пишу библиотеку, которая нуждается в информации о других библиотеках, включенных в проект. Любая помощь очень ценится.
Как узнать, какие библиотеки включены в проект Android программно?
Ответ 1
Я сделал простую функцию, просто сделайте вызов этой функции, когда вы хотите получить подробную информацию.
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...
}
}
Ответ 2
Для будущих читателей.
Вы можете использовать библиотеку Mike Penz AboutLibraries
Выгоды
- Разрешить перечислять внешние, внутренние библиотеки, используемые в вашем проекте
- Из коробки или фрагмент со списком библиотек, используемых в вашем проекте.