【问题标题】:Retrieving Native Code Architecture from an Android App从 Android 应用程序检索本机代码架构
【发布时间】:2013-09-12 00:44:45
【问题描述】:

我正在开发一个应用程序,该应用程序确定设备上安装的所有应用程序使用的本机代码架构和本机库。类似于运行以下命令。

 aapt dump badging <file.apk location>

包管理器不提供关于像 one 这样的本机代码或本机共享库的信息。我可以使用以下代码检索目标应用程序使用的本机共享库:

    try {
    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.d("Ldd", libs.size() + " libraries:");
    for (String lib : libs) {
        Log.d("Ldd", lib);
    }
} catch (FileNotFoundException e) {
    // Do some error handling...
} catch (IOException e) {
    // Do some error handling...
}

我只需要应用程序包使用的本机代码架构。我想从应用包中确定兼容的原生代码架构。

【问题讨论】:

    标签: android native-code package-managers aapt


    【解决方案1】:

    您还询问了如何通过 PackageManager 获取此信息 - 请参阅 answer to that post

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-03
      • 1970-01-01
      • 2020-02-13
      • 1970-01-01
      • 2014-11-04
      • 1970-01-01
      • 2022-01-10
      相关资源
      最近更新 更多