我正在使用由不同版本的ndk-build生成的.so文件,这会引起任何潜在的问题吗?

时间:2019-01-30 07:27:43

标签: android android-ndk

我正在android studio 3.3中使用sdk 28开发一个android应用。

当前,我有两个.so文件。

第一个是使用 ndk-r10e 构建的,在其Application.mk中,我找到了 APP_STL := gnustl_static

第二个是使用 ndk-r16b APP_STL := c++_static 构建的。

这会导致任何潜在的问题吗?

1 个答案:

答案 0 :(得分:1)

正如迈克尔所说,请阅读developer.android.com/ndk/guides/cpp-support#one_stl_per_app。您所做的肯定不兼容。即使您为第一个库切换到c ++ _ static,libc ++ ABI自r10以来也已更改。

我们会尽可能保持NDK之间的兼容性,但是某些错误需要不兼容的更改才能解决。这也不是我们积极测试的东西。严格来说,您应该使用相同版本的NDK来构建应用程序中的所有内容。这并非总是可能的,但是您应该在任何时候都这样做。