android - 如何使用Android NDK获取库信息?

标签 android android-ndk shared-libraries

使用 Android NDK 是否可以(从 native C 代码)获取已加载的 .so 库的列表?我正在寻找 iOS 函数 _dyld_image_count()/_dyld_get_image_name() 的 Android 版本。

还可以获取包含特定函数的 .so 的库名称(在 iOS 上,该函数为 dladdr())。

最佳答案

您可以读取并解析/proc/self/maps文件。它包含为您的应用程序加载的每个共享对象的地址。 self 将帮助您的应用程序读取自己的信息。

nm Android NDK 中也提供了命令行实用程序,它可以显示某些共享对象文件中可用的符号。您可以查看它是如何实现的,并尝试使用相同的库,但这并不简单。

关于android - 如何使用Android NDK获取库信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13990643/

相关文章:

Android,如何在启动新 Activity 时禁用 'wipe'效果?

android - Uri.builder 与基于字符串的 url 构造

android - 如何授予android shell 用户更多权限?

android-ndk - (void) 结果是什么;在 android OpenSL 示例中是什么意思?

google-apps-script - 找到一种方法来获取使用的库版本?

android - 错误::在打包APK期间重复文件

java - Webview loadurl 崩溃

Android Studio 1.4 无法启动调试服务器

c - 共享库插件和从主程序调用函数 (Bluez)

c++ - VS10/12 中的 Matlab Shared C/C++ lib 抛出很多异常