2 a3652853 a3652853 于 2016.04.25 16:15 提问

Android armeabi 和 armeabi_v7a 使用的是同一份so库

Android armeabi 和 armeabi_v7a 使用的是同一份so库:
是我从armeabi拷贝到armeabi_v7a里面的。
但是两份一抹一样的so 库就会导致打包后的apk包过大。
能否只使用一份so 库解决这个问题?
如果没有 armeabi_v7a 的话
运行 System.loadLibrary会报找不到这个so文件。
求各位大神帮帮忙

4个回答

CSDNXIAOD
CSDNXIAOD   2016.04.25 16:22

armeabi armeabi-v7a android
android的armeabi和armeabi-v7a
android的armeabi跟armeabi-v7a
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

ONGYUNHAI
ONGYUNHAI   2016.04.25 16:44

armeabi 和 armeabi_v7a 是指的CPU的类型,
armeabi 是指该so文件用于通用CPU,
armeabi_v7a是指该so文件用于支持硬件浮点运算的CPU,
所以就此而言armeabi的通用性较强,但相对而言运算速度就慢了,
在这个追求性能的时代,个人推荐全部放到armeabi-v7a下,不要为了兼容放到armeabi下面而丧失这个优化性能的机会。

q610098308
q610098308   2016.04.25 16:46

1.不能使用同一个库,是针对不同手机平台的;
2.armeabi是指的该so库用于ARM的通用CPU,而v7a的CPU支持硬件浮点运算。因此armeabi通用性强,但速度慢,而v7a能充分发挥v7a CPU的能力,在AIR打包APK调试模式adobe选择的是通用性强的armeabi模式。
3.现在还有x86的了,其实armeabi 、armeabi-v7a 和x86是编译 NDK 库时,可以使用三种支持的应用二进制接口(ABI):

‘armeabi’ – 默认选项,将创建以基于 ARM* v5TE 的设备为目标的库。 具有这种目标的浮点运算使用软件浮点运算。 使用此 ABI 创建的二进制代码将可以在所有 ARM* 设备上运行。
‘armeabi-v7a’ – 创建支持基于 ARM* v7 的设备的库,并将使用硬件 FPU 指令。
‘x86’ – 生成的二进制代码可支持包含基于硬件的浮点运算的 IA-32 指令集。
dongfeng9ge
dongfeng9ge   Ds   Rxr 2016.04.29 15:46

还是全放在armeabi-v7a下吧

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!