我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。点击进入详情
so简介:
目前Android共支持七种不同类型的CPU架构,分别是:ARMv5,ARMv7 (从2010年起),x86 (从2011年起),MIPS (从2012年起),ARMv8,MIPS64和x86_64 (从2014年起)。如果你要完美兼容所有类型的手机,理论上是要在的libs目录下放置各个架构平台的SO文件。
参考一篇介绍so比较全面的文章:http://blog.coderclock.com/2017/05/07/android/Android-so-files-compatibility-and-adaptation/
总结:
1、
armeabi是万金油,除了mips平台不支持,其它六个平台均支持armeabi。所以我们项目中至少要满足armeabi的so文件;
2、
如果引入更高级的CPU平台,那么请尽量在这个平台中放入齐全so文件;
如果没有这个平台的so文件,试着从低级平台拷贝进来。
比如手机是armeabi-v7a的,那么如果我们在libs里面新建了armeabi-v7a文件夹,那么请在这个文件夹内放全so文件,没有的话从armeabi里面找到拷贝过来。
系统不会因为这个文件夹下没有的so文件,而去areabi文件夹内寻找,而是直接异常退出。