美文网首页Android
Android so 与 Abi指令集的问题

Android so 与 Abi指令集的问题

作者: 苗校长 | 来源:发表于2019-08-07 18:31 被阅读0次

在实际开发中,经常遇到使用jni库时找不到so文件的问题,经过实际的摸索,我总结了一下的规律,不知道是否正确,如果理解错了,还请看到的大神指正一下.

指令集的详细问题就不多罗嗦了,我也不是很清楚,Android 开发者主要遇到的指令平台有

arm 平台的有

现在的主流soc一般都是64位的,所以一般都是arm64-v8a的指令集
新的指令集的soc 一般兼容老的指令集
- armeabi    //很早的arm 手机
- armeabi-v7a // 现在还活着的32 位的arm手机大部分是这个
- arm64-v8a // 64位的arm手机

** x86 平台有""

32 位的x86 cpu 对应 x86, 64位的x86 cpu 对应 x86_64,同样新cpu兼容老的指令集
- x86
- x86_64

在实际测试中,拿 arm平台距离,假设手机soc 的指令集是arm64-v8a,那么应用将优先从 arm64-v8a 中查找so文件,没有则从armeabi-v7a中查找,依然没有则从armeabi 中查找,还没有报找不到so的异常

但在实际项目中,我们有可能引入多方的sdk,这些sdk提供的so文件有的三种arm指令集都有,有的只有arm-v7a,这时候如果我们在abiFilters 中不过滤掉 arm64-v8a的话,这时候就会出现arm-v8a里的so文件不全的情况,但是因为arm64-v8a 下有so文件,此时系统便不再去其他文件夹下查找了,所以此时及时armeabi-v7a 下有so文件依然会报错

相关文章

  • Android so 与 Abi指令集的问题

    在实际开发中,经常遇到使用jni库时找不到so文件的问题,经过实际的摸索,我总结了一下的规律,不知道是否正确,如果...

  • Android CPU ABI

    ABI 简述 不同 Android 手机使用不同的 CPU,因此支持不同的指令集。CPU 与指令集的每种组合都有其...

  • NDK: "armeabi-v7a", &q

    官网链接 ABI 管理 不同 Android 手机使用不同的 CPU,因此支持不同的指令集。CPU 与指令集的每种...

  • 认识NDK编译

    一. Android ABI 不同的 Android 设备使用不同的 CPU,而不同的 CPU 支持不同的指令集。...

  • 360加固后,夜神模拟器安装崩溃

    文献参考 Android的.so文件、ABI和CPU的关系[https://blog.csdn.net/xx326...

  • 2019-11-21 关于在Android studio 模拟

    最近最项目遇到的一个问题: Android 的 so 库和 ABI 配置我原先也是没有什么概念的,直到上个周,在我...

  • APK只包含指定平台的so库(abi)

    APK只包含指定平台的so库(abi) The errors: android第三方 sdk是以aar形式提供的,...

  • so库动态加载方案

    1.so文件 一种CPU架构 = 一种对应的ABI参数 = 一种对应类型的SO库 早期的Android系统几乎只支...

  • Android ABI

    什么是ABI? Android Binary Interface 简称ABI CPU 和架构 不同 Android...

  • Android中的ABI

    Android中的ABI ABI是Application Binary Interface的缩写。 ABI常表示两...

网友评论

    本文标题:Android so 与 Abi指令集的问题

    本文链接:https://www.haomeiwen.com/subject/atuadctx.html