gpt4 book ai didi

android - 如何确定 Android .so 文件的 ABI(即 armeabi 或 armeabi-v7a)?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:38:13 27 4
gpt4 key购买 nike

我有一个由第三方供应商提供的 .so 文件,该文件将包含在我的 Android 应用程序中。我无法访问源代码,也无法(轻松)联系供应商。

有没有办法让我通过检查 .so 文件来确定它是否是针对 armeabiarmeabi-v7a ABI 编译的?

我问有两个原因。首先,我更喜欢它针对 armeabi-v7a ABI 进行编译,以获得比 armeabi 更高的性能;知道这一点会让我有信心获得最佳表现。此外,我想适本地命名 .so 文件所在的目录(即,将文件夹命名为“armeabi”或“armeabi-v7a”,对应于它编译的目标 ABI)。

最佳答案

Android SDK 中的 readelf 应该更容易解决这样的问题:

路径(可能会根据您自己的平台发生变化):sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-readelf

$ arm-linux-androideabi-readelf -A liba.so
Attribute Section: aeabi
File Attributes
Tag_CPU_name: "5TE"
Tag_CPU_arch: v5TE
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
Tag_FP_arch: VFPv2
Tag_ABI_PCS_wchar_t: 4
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
Tag_ABI_align_needed: 8-byte
Tag_ABI_enum_size: int
Tag_ABI_optimization_goals: Aggressive Speed
Tag_DIV_use: Not allowed

关于android - 如何确定 Android .so 文件的 ABI(即 armeabi 或 armeabi-v7a)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22620667/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com