.so库使用整理

2017-11-02  本文已影响42人  SScience

开发Android应用时,有时候Java层的编码不能满足实现需求,就需要到C/C++实现后生成SO文件,再用System.loadLibrary()加载进行调用,这里成为JNI层的实现。常见的场景如:加解密算法,音视频编解码等。在生成SO文件时,需要考虑适配市面上不同手机CPU架构,而生成支持不同平台的SO文件进行兼容。

一,Android支持的CPU架构

对于CPU来说,不同的架构并不意味着一定互不兼容,根据目前Android共支持七种不同类型的CPU架构,其兼容特点可总结如下:

总结:

二,.so库最佳选择

从目前手机端CPU市场的份额数据看,ARM架构几乎垄断,所以,除非你的用户很特殊,否则几乎可以不考虑单独编译带入X86、X86_64、mips、mips64架构SO文件。而在ARM架构中,比如高通骁龙芯片在2014年发布的410/610/808及以后的芯片都是arm64-v8a架构,华为麒麟6xx系列和930及以后也都是arm64-v8a架构,联发科??? 联发科:一核有难,九核围观😜😝😂

所以:

三,使用注意

参考
Android SO文件的兼容和适配
为何 Twitter 区别于微信、淘宝,只使用了 armeabi-v7a?
关于Android的.so文件你所需要知道的

上一篇 下一篇

猜你喜欢

热点阅读