SO(Shared Object)文件是Linux及其衍生系统(如Android)中常见的动态链接库文件,通常以 .so 为扩展名。它类似于Windows系统中的 .dll 文件,用于在程序运行时动态加载共享代码。
通常使用GCC或NDK工具链编译C/C++源码:
gcc -shared -fPIC -o libexample.so example.c
在Android开发中,则使用Android NDK配合CMake或ndk-build构建。
file libxxx.so 查看基本信息readelf -d libxxx.so 查看依赖nm -D libxxx.so 查看导出符号SO文件一旦编译完成,其架构不可更改。若在错误的设备上加载,会导致“UnsatisfiedLinkError”等崩溃问题。建议在Android项目中按ABI分类放置SO文件(如放在 jniLibs/arm64-v8a/ 目录下)。