У меня есть приложение для Android, которое использует NDK.В моем коде C ++ у меня есть вызов std :: use_facet ().Само по себе мое приложение работает нормально, однако, когда я добавляю ACRCloud SDK, я получаю сбой при запуске приложения:
Build fingerprint: 'google/taimen/taimen:9/PPR2.180905.005/4928864:user/release-keys'
2018-10-17 14:48:36.357 2938-2938/? A/DEBUG: Revision: 'rev_10'
2018-10-17 14:48:36.357 2938-2938/? A/DEBUG: ABI: 'arm'
2018-10-17 14:48:36.357 2938-2938/? A/DEBUG: pid: 2915, tid: 2915, name: .app >>> com.mycompany.android.app <<<
2018-10-17 14:48:36.357 2938-2938/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
2018-10-17 14:48:36.357 2938-2938/? A/DEBUG: Cause: null pointer dereference
2018-10-17 14:48:36.357 2938-2938/? A/DEBUG: r0 00000000 r1 00000043 r2 d5b21700 r3 00000000
2018-10-17 14:48:36.357 2938-2938/? A/DEBUG: r4 ffd1a974 r5 ebd856ac r6 ebd856ac r7 d551c3a4
2018-10-17 14:48:36.357 2938-2938/? A/DEBUG: r8 d3acfae8 r9 f45842c0 r10 00000143 r11 ffd1a9b4
2018-10-17 14:48:36.357 2938-2938/? A/DEBUG: ip 00000000 sp ffd1a948 lr d473ae40 pc d473ae54
2018-10-17 14:48:36.550 2938-2938/? A/DEBUG: backtrace:
2018-10-17 14:48:36.550 2938-2938/? A/DEBUG: #00 pc 03e2fe54 /data/app/com.mycompany.android.app-APqEWGjyWJxWwxYs8NNiHA==/lib/arm/libMyApp.so (std::ctype<char> const& std::use_facet<std::ctype<char>>(std::locale const&)+40)
2018-10-17 14:48:36.550 2938-2938/? A/DEBUG: #01 pc 023ee45c /data/app/com.mycompany.android.app-APqEWGjyWJxWwxYs8NNiHA==/lib/arm/libMyApp.so (_ZNSt8__detail9_CompilerISt12regex_traitsIcEEC1EPKcS5_RKS2_NSt15regex_constants18syntax_option_typeE+232)
2018-10-17 14:48:36.550 2938-2938/? A/DEBUG: #02 pc 023eb19c /data/app/com.mycompany.android.app-APqEWGjyWJxWwxYs8NNiHA==/lib/arm/libMyApp.so (_ZNSt8__detail13__compile_nfaISt12regex_traitsIcEEESt10shared_ptrINS_4_NFAIT_EEEPKNS5_9char_typeESA_RKS5_NSt15regex_constants18syntax_option_typeE+80)
2018-10-17 14:48:36.550 2938-2938/? A/DEBUG: #03 pc 023e8d28 /data/app/com.mycompany.android.app-APqEWGjyWJxWwxYs8NNiHA==/lib/arm/libMyApp.so (_ZNSt11basic_regexIcSt12regex_traitsIcEEC2IPKcEET_S6_NSt15regex_constants18syntax_option_typeE+240)
Сбой обнаруживается в моей собственной библиотеке, но я считаю, что это что-то делатьс библиотекой ACRCloud, находящейся там, что вызывает это.
Обратите внимание, что в момент сбоя еще не запущен код, который создает экземпляр какого-либо из ACRCloud SDK.
Мне кажется, что ACRCloud где-то использует тот же вызов метода, std :: use_facet (), и во время компиляции вместо меня вводятся символы из ACRCloud, что вызывает конфликт.
Возможно, кто-то из ACRCloud может подключиться.