【问题标题】:How to know what libraries are included in an Android project programmatically?如何以编程方式知道 Android 项目中包含哪些库?
【发布时间】:2019-07-21 21:36:37
【问题描述】:

我想知道是否可以通过编程方式找到包含在 Android 项目中的所有库。我正在编写一个库,它需要有关项目中包含的其他库的信息。非常感谢任何帮助。

【问题讨论】:

标签: android libraries


【解决方案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

好处

  • 允许列出项目中使用的外部、内部库
  • 带有项目中使用的库列表的开箱即用活动或片段。

【讨论】:

    猜你喜欢
    • 2013-02-17
    • 1970-01-01
    • 2018-10-21
    • 1970-01-01
    • 1970-01-01
    • 2016-01-21
    • 2018-01-09
    • 1970-01-01
    • 2013-09-03
    相关资源
    最近更新 更多