当前位置: 首页 > article >正文

`Android NDK` `readelf` 在`Terminal`上的使用(配置`readelf`)

Android NDK readelfTerminal上的使用(配置readelf

当一个 Android APP 需要集成别的地方来的原生库(.so)时,你可能也会跟我一样会有那么几点疑惑:

  • 这个 so 用的什么 NDK 版本编译的?会不会跟项目里其它的so 冲突,尤其项目里使用共享 C++ STL的情况下 ANDROID_STL=c++_shared,一个应用不能使用多个 C++ 运行时
  • 这个 so 目标 Android API 等级是多少?会不会大于项目的minSdkVersion
  • 这个 so 依赖(链接)其它哪些 so?这些 so 有没有都放进项目里?
  • 这个 so 有没有除了用文件哈希之外唯一编号,用来标识崩溃堆栈等?

1.可以用 ndk-which 找到 NDK 中预编译好的 readelf

$ANDROID_NDK_HOME/ndk-which --abi arm64-v8a readelf
/Users/xxx/Library/Android/sdk/ndk/21.4.7075529/prebuilt/darwin-x86_64/bin/../../../toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android-readelf

2.定义一个名为 readelf alias 方便在 Terminal 中调用 aarch64-linux-android-readelf

alias readelf=`$ANDROID_NDK_HOME/ndk-which --abi arm64-v8a readelf`

readelf -v

3.以 NDK中带的libc++_shared.so为例

readelf -WS $ANDROID_NDK_HOME/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/aarch64-linux-android/libc++_shared.so

http://www.kler.cn/a/291255.html

相关文章:

  • HTML5 动画效果:淡入淡出(Fade In/Out)详解
  • 基于单片机的数字气压计设计
  • 【STM32+QT项目】基于STM32与QT的智慧粮仓环境监测与管理系统设计(完整工程资料源码)
  • 【Linux 之 二十 】使用 ln 命令创建符号链接
  • Web应用安全-漏洞扫描器设计与实现
  • python中的列表推导式详解
  • Behind the Code:与 Rakic 和 Todorovic 对话 OriginTrail 如何实现 AI 去中心化
  • python文件自动分类(3)
  • 【代码随想录|图论part03之后】
  • Kubernetes精讲之环境搭建
  • Qt基础类02-坐标类QPointF
  • ios动态创建控件及添加事件
  • 基于微信的热门景点推荐小程序的设计与实现(论文+源码)_kaic
  • MATLAB 仿真跳频扩频通信系统
  • Salt Function Flow:深度解析复杂网关编排的优势与实践
  • Java开发中的vo,dto,po
  • 基于 AT 固件测试 ESP32 设备作为 WiFi AP 模式创建 TCP Server 开启 UART-to-WiFi 透传模式的指令序列
  • 航电系统,无人机的核心!!!
  • 彻底改变计算机视觉的 Vision Transformer (ViT) 综合指南(视觉转换器终极指南)
  • 电脑开机出现no operation system found错误原因分析及解决方法
  • SpringBoot 基于iText 根据PDF模板动态生成文件
  • C#笔记6 网络编程基础,解释端口套接字,代码实例分析DNS,IPAddress等类
  • MySQL-进阶篇-锁(全局锁、表级锁、行级锁)
  • Fabric.js全面介绍:强大的交互式图形编辑框架
  • 优化采样参数提升大语言模型响应质量:深入分析温度、top_p、top_k和min_p的随机解码策略
  • 【C++ Qt day6】