在Linux、Unix以及Android等系统中,你可能会经常看到以 .so 结尾的文件(例如 libexample.so)。这类文件被称为“共享对象”(Shared Object),相当于Windows系统中的 .dll(动态链接库)文件。
.so 文件是一种动态链接库,它包含可被多个程序在运行时共同调用的代码和数据。使用 .so 文件可以:
libc.so、libm.so。在 Linux 终端中,你可以使用以下命令:
ldd 可执行文件:查看该程序依赖哪些 .so 库。nm -D libxxx.so 或 objdump -T libxxx.so:查看 .so 文件导出的符号(函数/变量)。dlopen()、dlsym() 动态加载 .so 文件(需包含 <dlfcn.h>)。不同架构(如 arm64-v8a、x86_64)需要对应版本的 .so 文件。在 Android 开发中,若缺失对应 CPU 架构的 .so,可能导致应用崩溃或无法加载 native 方法。