2017-01-22 147 views
-1

我已经使用NDK交叉编译了许多不同版本的库,并在我的Android应用程序中使用它们。他们工作正常,直到最终发布我的应用程序,我的同事已经在他的XiaoMi 4上测试了应用程序,并且出现此错误。 首先,我认为这可能是因为某些特定平台的图书馆丢失了,但不久之后,我提取.apk文件,并发现一切实际上都存在。java.lang.UnsatisfiedLinkError:dlopen失败:无法找到符号“__aeabi_memmove4”

我已经搜索谷歌发现没有什么可以解决问题。 PS:在我的新版本的应用程序中,我只是在我的C库中更改了几行,并且它们都只是大约if-else-return的东西。我从来没有使用过这些功能中的任何一种,更不用说memmove4

如果有人能向我解释这一点?什么是__aeaib_memmove4

+0

人们应该总是解释为反对票。 – WALKER

+0

我会尝试不同的ndk版本,看看是否改变了一切。另外,你看这里:http://stackoverflow.com/questions/39541599/error-loading-package-jni-cannot-locate-symbol-aeabi-memcpy? – yakobom

+0

@yakobom我想到的第一件事是:也许我的Mac上的NDK是不同的。所以我试着在新安装的Ubuntu和Windows上编译我的库,但没有成功。这个问题发生在'小蜜4'上,但在其他设备上工作得很好。所以,唯一的解释是:我目前的NDK版本过高(并且包含一些'XiaoMi4'不支持的功能)。 – WALKER

回答

0

所以我终于在我的Android.mk文件,从8到17,这是我targetSDKversion升级APP平台的解决了这个问题,所以错误消失。

相关问题