Android so文件 报错 32位不能转换成64位
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android so文件 报错 32位不能转换成64位相关的知识,希望对你有一定的参考价值。
---恢复内容开始---
第一次被同事叫来简书,我想在哪里记录都一样,那就再试试这个吧。
公司最新开发自己的产品,需要集成视频录制功能,导入so文件后,运行项目报错,手机上显示“XXX应用已停止”,查看错误log so文件找不到,于是查看项目libs/armeabi-v7a里存在了so文件,想到每个libs目录下有匹配不同系统的文件夹,机智的我,把报错的so文件每个文件夹都复制到各个不同文件夹里,终于不报错了,能找到so文件,可最终就是报了以上标题的错误。
查看资料后就知道android 5.0版本以上系统都为64位系统,当我们开发者应用中有存在匹配64位的文件夹时,比如:arm64-v8a,mips64,x86_64,应用匹配这些文件夹查找so文件,所以之前市场上有很多app运行失败,解决这个问题有2种办法:
1.找到该第三方引用的64位so文件 替换到项目64位文件夹中
2.让系统没得选择,只能运行32位so文件,删除匹配64位文件夹 get!
以上是关于Android so文件 报错 32位不能转换成64位的主要内容,如果未能解决你的问题,请参考以下文章
linux 64位系统ZendGuardLoader.so: wrong ELF class: ELFCLASS32报错
将 32 位 android 应用程序转换为 64 位应用程序
Couldn't load libPassword from loader:NDK开发中C文件编译成cpu的so类库时,找不到类库报错的原因之一