平方X

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 4117|回复: 0

[Android] armeabi,armeabi-v7a,x86,mips,arm64-v8a,mips64,x86_64下的so文件

[复制链接]

414

主题

709

帖子

3605

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3605
QQ
发表于 2016-4-19 11:37:53 | 显示全部楼层 |阅读模式
参考:http://www.ithao123.cn/content-10046919.html
armeabi,armeabi-v7a,x86,mips,arm64-v8a,mips64,x86_64下的so文件
1,Android系统目前支持以下七种不同的CPU架构:
ARMv5,ARMv7(从2010年起),x86 (从2011年起),MIPS (从2012年起),ARMv8,MIPS64和x86_64 (从2014年起),
2,在Android系统上,每一个CPU架构对应一个ABI:
armeabi,armeabi-v7a,x86,mips,arm64-v8a,mips64,x86_64。
3,在百川中看到这个
因为 Android 部分版本系统中载入不同架构原生库 (so 文件) 的限制,请确保项目运行所需的原生库文件在当前手机 CPU 对应架构目录下都存在。
例如,安全模块暂时未提供 arm64 架构的原生库,若当前 apk 依赖的其他组件包含 arm64 原生库,会导致载入错误。
解决方法是移除依赖组件中相关原生库,确保最终 apk 中不存在 arm64-v8a 。
以有http://www.zhihu.com/question/36893314/answer/69496966
arm64-v8a是可以向下兼容的,但前提是你的项目里面没有arm64-v8a的文件夹。
如果你有两个文件夹armeabi和arm64-v8a,两个文件夹,armeabi里面有a.so 和 b.so,arm64-v8a里面只有a.so,
那么arm64-v8a的手机在用到b的时候发现有arm64-v8a的文件夹,发现里面没有b.so,就报错了。
所以这个时候删掉arm64-v8a文件夹,这个时候手机发现没有适配arm64-v8a,就会直接去找armeabi的so库。
所以要么你别加arm64-v8a,要么armeabi里面有的so库,arm64-v8a里面也必须有
4,为什么华为畅享5出错,
华为畅享5
CPU型号 联发科 MT6735
其采用了四核心64位Cortex-A53架构设计
A57和A53属于ARMv8架构。
因此,就是arm64-v8a的。
我是平方X~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|平方X ( 冀ICP备14018164号 )

GMT+8, 2024-5-8 07:39 , Processed in 0.102381 second(s), 21 queries .

技术支持:Powered by Discuz!X3.4  © 2001-2013 Comsenz Inc.

版权所有:Copyright © 2014-2018 平方X www.pingfangx.com All rights reserved.

快速回复 返回顶部 返回列表