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

做网站国外访问熊猫关键词挖掘工具

做网站国外访问,熊猫关键词挖掘工具,如何传图片做网站,为什么要建设双端网站android-ndk开发(7): 从库文件反推ndk版本 2025/05/06 1. 概要 对于动态库, 有些能用 parse_elfnote.py 提取,有些不能。 对于静态库, 不能用 parse_elfnote.py 提取; 对于 libopencv_core.a, 可以搜索关键字 General configu…

android-ndk开发(7): 从库文件反推ndk版本

2025/05/06

1. 概要

对于动态库, 有些能用 parse_elfnote.py 提取,有些不能。

对于静态库, 不能用 parse_elfnote.py 提取; 对于 libopencv_core.a, 可以搜索关键字 General configuration for OpenCV 来查找。

2. 动态库

2.1 获取 parse_elfnote.py

从 https://android.googlesource.com/platform/ndk/+/master/parse_elfnote.py 获取。

或克隆完整的 ndk 源码仓库, 位于仓库根目录:

git clone https://android.googlesource.com/platform/ndk.git

2.2 添加 llvm-readelf 到 PATH

parse_elfnote.py 依赖于可执行文件 llvm-readelf。 若没有放到 PATH 中会遇到报错:

PS D:\github\ndk> D:\github\ndk\parse_elfnote.py D:\pkgs\opencv\OpenCV-android-sdk\sdk\native\staticlibs\arm64-v8a\libopencv_core.a
PS D:\github\ndk>
libpng warning: iCCP: cHRM chunk does not match sRGB^C
PS D:\github\ndk> python D:\github\ndk\parse_elfnote.py D:\pkgs\opencv\OpenCV-android-sdk\sdk\native\staticlibs\arm64-v8a\libopencv_core.a
Traceback (most recent call last):File "D:\github\ndk\parse_elfnote.py", line 243, in <module>main()File "D:\github\ndk\parse_elfnote.py", line 220, in mainreadelf = find_readelf(args.ndk)^^^^^^^^^^^^^^^^^^^^^^File "D:\github\ndk\parse_elfnote.py", line 184, in find_readelfraise RuntimeError(
RuntimeError: Could not find llvm-readelf or readelf in PATH and could find find any NDK

android-ndk 安装包里提供了 llvm-readelf. 以 PowerShell 为例,临时添加到 PATH:

$env:Path = "D:\soft\android-ndk\r21e\toolchains\llvm\prebuilt\windows-x86_64\bin;" + $env:Path

2.3 从动态库推测 ndk 版本

ndk-r21 的 libc++_shared.so

python D:\github\ndk\parse_elfnote.py D:/soft/android-ndk/r21e/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_shared.so
----------ABI INFO----------
ABI_ANDROID_API: 21
ABI_NDK_VERSION: r21e
ABI_NDK_BUILD_NUMBER: 7075529

ndk-r28b 的 libc++_shared.so

python D:\github\ndk\parse_elfnote.py D:\soft\android-ndk\r28b\toolchains\llvm\prebuilt\windows-x86_64\sysroot\usr\lib\aarch64-linux-android\libc++_shared.so
----------ABI INFO----------
ABI_ANDROID_API: 21
ABI_NDK_VERSION: r27-beta1
ABI_NDK_BUILD_NUMBER: 11883388

ncnn 20250503 版本的 libncnn.so:

PS D:\github\ndk> python D:\github\ndk\parse_elfnote.py D:\pkgs\ncnn\ncnn-20250503-android-shared\arm64-v8a\lib\libncnn.so
----------ABI INFO----------
ABI_ANDROID_API: 21
ABI_NDK_VERSION: r28b
ABI_NDK_BUILD_NUMBER: 13356709

3. 静态库

暂时没找到通用的版本。 对于特定的库, 可以在编译时把编译器版本信息写入到库文件中。 OpenCV 做了很好的示范。

用 Notepad Next 打开 libopencv_core.a , 查找 General configuration for OpenCV,找到 C++ Compiler 这行, 确定是 ndk 版本。

也可以用命令行来查询: strings libopencv_core.a | grep "C++ Compiler"

以 OpenCV 4.10.0 为例,

strings D:\pkgs\opencv\4.8.0\OpenCV-android-sdk\sdk\native\staticlibs\arm64-v8a\libopencv_core.a | ag "C++ Compiler"

结果为:

C++ Compiler: /opt/android-sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ (ver 14.0.7)

表明它是 ndk-r25c 编译的。

常用的4个 OpenCV 版本, 官方预编译android sdk库, 对应的 ndk 版本如下:

opencvndk
4.11.026.3.11579264
4.10.025.2.9519653
4.9.025.2.9519653
4.8.018.1.5063045

4. 总结

本文提供了在在 android-ndk 平台上, 从库文件反推出编译它的 ndk 版本的方法: 对于动态库, 可以用 parse_elfnote.py 提取; 对于静态库, 则需要编译时写入字符串。

对于 OpenCV 这个静态库, 我们反推了4个常用版本对应的 ndk 版本。

这些 ndk 版本信息, 在一些编译、链接报错的分析中, 会提供帮助。

Reference

https://stackoverflow.com/questions/53385892/find-the-ndk-version-used-for-building-opencv-android-native-libraries

https://github.com/opencv/opencv/issues/24856

http://www.dtcms.com/wzjs/311305.html

相关文章:

  • 建设局工程网站海淀网站建设公司
  • 做网站技术选择seo排名优化方式
  • adobe dreamweaver建设网站公司网站怎么申请怎么注册
  • 做网站如何月入过万河南网站建设公司哪家好
  • 网页游戏平台软件武汉seo排名优化公司
  • 网站好坏标准百度提交入口地址在哪
  • 网站建设宣传册内容百度竞价排名医院事件
  • 黄骗免费网站网上网络推广
  • 关于申请网站建设经费的报告公众号怎么做文章推广
  • wordpress付费阅读全文云南网络营销seo
  • 网站开发与制作工资搜狗推广平台
  • wordpress登录于未登录菜单企业关键词优化推荐
  • 自动化东莞网站建设代做网页设计平台
  • 通化建设工程信息网站百度官网电话客服24小时
  • SEO案例网站建设公司百度推送
  • 网站建设的验收网络服务提供者不是网络运营者
  • 网站怎么修改好之后再上线网络竞价托管公司
  • 西安专业做网站的公司seo查询网站
  • 网站建设会计分录怎么做网站seo哪里做的好
  • frontpage网站建设论文互联网营销师在哪里报名
  • 乐清做网站价格上海高玩seo
  • 阿里云 wordpress 建站 教程长沙网站优化价格
  • 有专业做网站的吗网站公司开封网站推广
  • 教学网站建设社会化媒体营销
  • wordpress连接失效互联网seo是什么
  • 做ar的网站兰州做网站的公司
  • 朝阳住房和城乡建设官方网站导航网站怎么推广
  • wordpress 回复北京做网络优化的公司
  • wordpress权限插件惠州seo关键词排名
  • 昆山哪家做网站好怎样优化网络