【发布时间】:2017-01-22 15:00:49
【问题描述】:
我使用 NDK 交叉编译了许多不同版本的库并在我的 Android 应用程序中使用它们。他们工作得很好,直到我的应用程序最终发布,我的同事已经在他的XiaoMi 4 上测试了应用程序并出现了这个错误。
首先,我认为这可能是因为某些特定平台的库丢失了,但是在我提取 .apk 文件后不久,发现所有内容实际上都在那里。
我已经搜索了谷歌,没有找到可以解决问题的任何东西。
PS:在我的新版本应用程序中,我只是在我的 C 库中更改了几行,所有这些都只是 if-else-return 的东西。我从未使用过任何memcpy-memmove 函数,更不用说memmove4。
谁能给我解释一下? __aeaib_memmove4 是什么?
【问题讨论】:
-
人们应该总是为反对票做出解释。
-
我会尝试不同的 ndk 版本,看看是否会改变一切。另外,你看过这里吗:stackoverflow.com/questions/39541599/…?
-
@yakobom 我首先想到的是:可能我的mac上的NDK不一样。所以我尝试在新安装的ubuntu和windows上编译我的库,没有成功。该问题仅出现在
XiaoMi4上,但在其他设备上运行良好。所以,唯一的解释是:我当前的NDK版本太高(并且包含XiaoMi4不支持的一些功能)。 -
在新安装的 ubuntu 上编译你的库并没有说明你安装的 NDK 版本。正如我所建议的那样 - 如果支持该设备对您来说也很重要,那么您为什么不尝试使用较旧的 NDK?
标签: android android-ndk