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

相关推荐
方白羽3 小时前
Android Gradle 缓存与文件目录深度解析
android·gradle·android studio
曲幽7 小时前
Termux里的二进制和脚本,到底怎么运行才不踩坑?Termux-service 保活妙招!
android·termux·nohup·services·wake-lock
plainGeekDev8 小时前
单例模式 → object 声明
android·java·kotlin
程序员陆业聪8 小时前
读者点单·03|Compose 与传统 View 混用的 12 个真实坑
android
程序员陆业聪9 小时前
读者点单·02|Android 启动优化实战:Trace 抓取→Application 编排→冷启动全流程拆解
android
Coffeeee9 小时前
帮你快速理解AI Agent之我想招个Android实习生
android·人工智能·agent
恋猫de小郭10 小时前
苹果 AirPods 协议,Android 也可以使用完整版 AirPods 能力
android·前端·flutter
黄林晴10 小时前
告别无效重建:Gradle 9.6.0 解决 CI 构建缓存失效痛点告别无效重建:Gradle 9.6.0 解决 CI 建筑缓存失效痛点
android·gradle
张风捷特烈11 小时前
Flutter 类库大揭秘#01 | path_provider架构与设计
android·flutter
_阿南_20 小时前
Android文件读写和分享总结
android