为排查在用户手中的Android设备存在找不到so的问题,需看一下某一so支持什么CPU格式。熟悉C层库的同学都知道,C所编译所得的静态库(.a)和动态库(.so)均为CPU相关的,不同的CPU环境需运行不同的so。在Android中,可以选用默认的so,即编译为armeabi环境的so运行于包括arm v5、arm v7,Intel x86环境。替代将全部CPU的so均打入包中,可能会降低一些性能,但得到的好处是安装包较小。

好,言归正传,拿到一个so后,如何查看其所匹配的CPU呢?答案本身在so中,我们所需做的是使用工具,将该信息从so中读出。在Mac下,可以通过greadelf和gobjdump两个命令得到该信息。只是取cpu的话,前述两命令中的任一个均能实现目标。

打开终端,输入greadelf,得到如下信息:

-bash: greadelf: command not found

运行gobjdump的结果一样,原因是Mac环境默认不包含该命令工具。可以选用brew进行安装

运行下述命令:

brew update

brew install binutils

安装好之后再次运行greadelf,得到如下信息:

-bash: greadelf: command not found

为什么呢?仔细看一下brew install binutils的执行结果,发现有该提示:

If you need to have binutils first in your PATH run:
                echo 'export PATH="/usr/local/opt/binutils/bin:$PATH"' >> ~/.bash_profile

想随处都可运行该命令,需配置环境变量:

sudo touch ~/.bash_profile (首次配置环境变量,需创建该文件)

sudo vi ~/.bash_profile,编辑环境变量,加入export PATH="/usr/local/opt/binutils/bin:$PATH"

source ~/.bash_profile:启用该环境变量

好,再次运行greadelf,可以看到的提示配置项,命令配置成功

仔细阅读配置项,发现如下命令即可:

greadelf -A libCube.so

得到如下输出:

可知该so适合于armv5架构。

再试一下gobjdump:gobjdump -x libCube.so

MAC查看某一so文件的cpu匹配相关推荐

  1. mac显示隐藏.env文件,mac查看.开头文件

    mac显示隐藏.env文件 mac显示隐藏.env文件,mac查看.开头文件方法 在Finder 内 按[Command + Shift + . ]

  2. mac 查看文件编码

    第一步打开终端 第二步:在输入 vim 文件名 按 esc :set 命令 , 并 回车 转载 mac 查看文件编码 https://blog.csdn.net/Z1591090/article/de ...

  3. mac查看当前文件路径

    方式一 如果只是需要看一下这个文件的路径,可以先选中该文件,然后右键,选择显示简介,然后就会显示这个文件的具体路径.快捷键为command+i 方式二 上面的方式只能查看路径,但是实际工作中经常需要对 ...

  4. FileZilla 在 Mac 环境下无法查看/编辑 index.html 文件

    FileZilla 在 Mac 环境下无法查看/编辑 index.html 文件,具体解决办法如下: 首先,因默认软件打开方式为系统中的文本编辑器,所以先打开对应的文本编辑器软件: 其次,在其系统偏好 ...

  5. Mac 打开、编辑 .bash_profile 文件

    一般在Mac上配置环境变量时经常要创建.编辑 .bash_profile文件. 创建该文件时一般都会选择在当前用户目录下,即Mac下的.bash_profile 文件的路径是 /Users/YourM ...

  6. Mac安装docker+nginx+挂载文件详细体验

    一.docker for macr客户端 对于10.10.3以上的用户 推荐使用 Docker for Mac http://mirrors.aliyun.com/docker-toolbox/mac ...

  7. JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jsta (Linux 如何查看进程的各线程的CPU占用 )

    http://dolphin-ygj.iteye.com/blog/366216 JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jsta 博客分类: 调优 ...

  8. ls mac 显示最近修改日期_如何在Mac上按日期排序文件 | MOS86

    许多Mac用户按名称和类型对文件进行排序,但是按日期排序档案最有用的方法之一就是.Mac Finder可以为文件,文档,应用程序和文件夹提供各种不同的基于日期的排序选项,并且它们通常在Finder列表 ...

  9. 让别人查看云服务器的文件夹,让别人查看云服务器的文件夹

    让别人查看云服务器的文件夹 内容精选 换一换 本节操作介绍本地MacOS系统主机通过安装"Microsoft Remote Desktop for Mac"工具向Windows云服 ...

最新文章

  1. 深度学习之自编码器AutoEncoder
  2. 关闭Windows不必要服务,电脑更安全
  3. Linux Kernel中的系统调用分析
  4. Linux7改运行级别,Centos7 修改运行级别
  5. golang 数组组合成最小的整数_golang数组-----寻找数组中缺失的整数方法
  6. 软考信息安全工程师备考笔记3:第三章网络安全基础备考要点
  7. connection linux refuse telnet_在 Linux 中安装并使用 PuTTY
  8. 什么是数据脱敏(Data Masking)?
  9. cs231n_2020 作业knn笔记
  10. hbase官方文档中文版0.97
  11. 智慧养老之智慧养老解决方案-新导智能
  12. 4.1程序员为什么需要学习编译原理
  13. 翟佳:优秀的开源项目应该被更多人看见,我很荣幸可以参与其中
  14. Reference 类
  15. 计算三大变化,带来了哪些红利?
  16. 场曲 zemax示例(概念、校正)
  17. 计算/感知/认知智能的研究现状
  18. HTTP中200、302、304、404和500等响应状态码含义
  19. 【转】汇编中的test和cmp指令
  20. 服装检索相关论文阅读

热门文章

  1. 用腾讯云服务器实现ipad连接远程电脑桌面record(详细)(含稳定连接方法)
  2. 上帝不掷骰子?商汤科技AI大装置想试试
  3. Python获取本机MAC地址,ip和主机名
  4. 框架完整创业融资计划PPT模板
  5. 正在连接箐英服2服务器,《魔兽世界》低人口服务器连接现有服 2至3个月完成辅助...
  6. 计算机输入个输出符号,如何使用通用五笔输入法在计算机上输出特殊符号和字符画...
  7. XLSX ZIP数据流格式说明
  8. python开发对电脑配置要求_学python最电脑配置有要求么
  9. android adb shell device not found 或 adb devices 无设备
  10. 灰度图像--图像分割 阈值处理之补充说明