Android,firefly3399开发板,arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题
生活随笔
收集整理的这篇文章主要介绍了
Android,firefly3399开发板,arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
1.先说下报的错
大概意思就是arm64-v8a文件夹下找不到libarcsoft_face_engine.so这个库,(这个库是虹软人脸识别2.0)
2.分析原因
百度了下,大概原因: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里面也必须有
3.解决方法
网上找了各种方法好像都不行,如删除arm64-v8a文件夹,仍然报错,可能是因为用的其他的library,里面包含arm64-v8a
既然没办法删除,那有没办法直接指定系统用什么so架构呢?
答案是可以的:
android {...defaultConfig {...ndk {abiFilters "armeabi", "armeabi-v7a", "x86", "mips"}}}就是在项目build.gradle里面,加上
ndk {abiFilters "armeabi", "armeabi-v7a", "x86", "mips" }发现竟然不报错了,O(∩_∩)O哈哈~
总结
以上是生活随笔为你收集整理的Android,firefly3399开发板,arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 学术-物理:莫比乌斯带
- 下一篇: Android关于分辨率的支持(QVGA