我正在android studio 3.3中使用sdk 28开发一个android应用。
当前,我有两个.so文件。
第一个是使用 ndk-r10e 构建的,在其Application.mk
中,我找到了 APP_STL := gnustl_static
。
第二个是使用 ndk-r16b 和 APP_STL := c++_static
构建的。
这会导致任何潜在的问题吗?
答案 0 :(得分:1)
正如迈克尔所说,请阅读developer.android.com/ndk/guides/cpp-support#one_stl_per_app。您所做的肯定不兼容。即使您为第一个库切换到c ++ _ static,libc ++ ABI自r10以来也已更改。
我们会尽可能保持NDK之间的兼容性,但是某些错误需要不兼容的更改才能解决。这也不是我们积极测试的东西。严格来说,您应该使用相同版本的NDK来构建应用程序中的所有内容。这并非总是可能的,但是您应该在任何时候都这样做。