Android查看SO库的依赖

bash 复制代码
➜  bin pwd
/Users/xxx/Library/Android/sdk/ndk/21.1.6352462/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64/bin
➜  bin ./aarch64-linux-android-readelf -d /Download/libxxx.so 
bash 复制代码
 0x0000000000000001 (NEEDED)             Shared library: [liblog.so]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so]
 0x0000000000000001 (NEEDED)             Shared library: [libc++_shared.so]
 0x0000000000000001 (NEEDED)             Shared library: [libdl.so]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so]
  • 静态链接。静态链接会将使用到的stl中代码,链接(拷贝)到so中;静态用.a为后缀
  • 动态链接。在链接时,并不会将stl代码拷贝到so中,而是将使用到的STL符号,保存在so的动态链接符号表中,在运行时绑定并调用这些STL中的符号(位于STL的so中)。动态通常用.so为后缀

参考
https://www.jianshu.com/p/11f5c722dce8
https://segmentfault.com/a/1190000041563287
https://zhuanlan.zhihu.com/p/377651202
https://www.cnblogs.com/52php/p/5681711.html

相关推荐
mmoyula1 小时前
【RK3568 驱动开发:实现一个最基础的网络设备】
android·linux·驱动开发
sam.li2 小时前
WebView安全实现(一)
android·安全·webview
移动开发者1号3 小时前
Kotlin协程超时控制:深入理解withTimeout与withTimeoutOrNull
android·kotlin
程序员JerrySUN3 小时前
RK3588 Android SDK 实战全解析 —— 架构、原理与开发关键点
android·架构
移动开发者1号3 小时前
Java Phaser:分阶段任务控制的终极武器
android·kotlin
哲科软件12 小时前
跨平台开发的抉择:Flutter vs 原生安卓(Kotlin)的优劣对比与选型建议
android·flutter·kotlin
jyan_敬言18 小时前
【C++】string类(二)相关接口介绍及其使用
android·开发语言·c++·青少年编程·visual studio
程序员老刘18 小时前
Android 16开发者全解读
android·flutter·客户端
福柯柯19 小时前
Android ContentProvider的使用
android·contenprovider
不想迷路的小男孩19 小时前
Android Studio 中Palette跟Component Tree面板消失怎么恢复正常
android·ide·android studio