If you upgrade the NDK or install the new version of Android Studio (2.1 at the time of writing) and Android Studio download the NDK for you, you will get revision 12 - which has a lot of std :: define not defined in \ ndk-bundle \ sources \ cxx-stl \ gnu-libstdC ++ \ 4.9 \ libs \ armeabi-v7a \ include \ bits \ C ++ config.h - related to streaming, such as _GLIBCXX_HAS_GTHREADS, which hides the class of the stream in the "stream", for example.
It says that after the 10th revision, gcc is out of date. And with that, all the definitions, as mentioned, that carefully distort our thread-specific JNI code.
Clang, as suggested in other posts, is not a solution for us, because, among other things, it seems that this is not support for thead_local. The solution is to go back to revision 10e, which you can find at:
dl.google.com/android/ndk
Extract the package and copy it to the sdk / ndk-bundle directory - first uninstall the original version 12.
Dave the irritated one
source share