小米手机 64位的会闪退,找不到libEasyAR.so文件

0 投票
最新提问 9月 21, 2017 用户: wgq1001good (140 分)
java.lang.UnsatisfiedLinkError: dlopen failed: library "/data/app/com.qingfengweb.beiyixiu-2/lib/arm64/libEasyAR.so" not found

2 个回答

0 投票
最新回答 9月 21, 2017 用户: czz123 (2,290 分)
你好,

EasyAR 2.1之前的版本没有对应的arm64-v8a,EasyAR 从2.1版本开始提供 arm64-v8a 的二进制文件。开发者需要自己决定是否使用这些文件。EasyAR 2.0.0 和以前版本没有提供 arm64-v8a 的文件,但这并不会对构建一般的Android应用造成影响。如果Android 设备是64位芯片并且有64位子系统,Android 会检查名字为 *arm64-v8a* 的文件夹,如果这个文件夹在 apk中存在,系统将会使用 64位的库文件。
对于EasyAR 或其他第三方库或开发者自己提供的 arm64-v8a 的库文件有两种解决方法,
1) 删除所有 arm64-v8a 文件,并删除 arm64-v8a 文件夹。这种情况你将失去对arm64架构下特定情况的优化,但所有功能仍可以正常使用。因为当前基本上所有 Android 设备都没有抛弃对 armv7 架构的兼容性。这个选择会带来额外的好处,可以减小apk的大小。
2) 保证EasyAR及所有其他库的 arm64-v8a 文件都被打包到apk中。
由于 EasyAR 2.0.0 及之前的版本没有提供arm64-v8a 的库文件,对这些版本只能选择选项 1) 。但对 2.1 及之后版本,你应该自己有取舍的选择使用哪个选项。
*请注意,如果你是 Android ROM 开发者,或者你工作在系统层或SOC层,或者工作在定制的设备上,上面的描述可能不完全适用。通常这种情况下你应该对你的需求了解的很清楚。*)
0 投票
最新回答 6月 24, 2019 用户: cazaea (180 分)
只保留armeabi so库目录,将v7a目录内容剪切到armeabi目录,最后只保留armeabi目录,我做海康威视时候遇见了这个问题,通过上面的方法解决了!
欢迎来到 EasyAR Q&A ,有什么不懂的可以尽管在这里提问,你将会收到社区其他成员的回答。
...