Каково поведение, если приложение Android NDK загружает более одной общей реализации C ++ STL?

У нас есть приложение для Android с несколькими родными библиотеками. В настоящее время большинство из них используют stlport_shared , но мы заинтересованы в обновлении до c++_shared (LLVM libc ++ runtime). Если бы мы обновили некоторые из них, но не другие, нам пришлось бы загружать как stlport, так и llvm.

Я предположил, что загрузка двух реализаций STL может вызвать проблемы, но на практике приложение работает корректно. Является ли это неопределенным поведением или допустимо загрузить более одной версии STL?

Я прочитал https://developer.android.com/ndk/guides/cpp-support.html и часть документации, поставляемой с NDK, но не могу найти окончательного ответа. Спасибо за помощь!

Лучше избегать этого, если это вообще возможно.

Если для типа STL (например, для std::string ) используется stlport_shared файл stlport_shared и c++_static , поскольку две реализации std::string несовместимы, это не сработает.

Вы также уязвимы для проблем, описанных https://stackoverflow.com/a/25856207/632035