欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > Android >内容正文

Android

Android,firefly3399开发板,arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题

发布时间:2024/3/12 Android 52 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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文件兼容问题的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。