Почему я получаю сообщение об ошибке от Android NDK r11, когда мой проект построен с использованием Android NDK r16? - PullRequest
0 голосов
/ 06 мая 2018

У меня есть проект Android со сторонней библиотекой (.so). Наряду со сторонним файлом .so, я также предоставляю библиотеку libc++_shared.so, которая необходима вместе со сторонней библиотекой.

После сборки проекта Android и его запуска на устройстве Android (Android 6.x) я получаю сообщение abort:

[INFO] libc: /Volumes/Android/buildbot/out_dirs/aosp-ndk-r11-release/build/tmp/build-72234/build-libc++/ndk/sources/cxx-stl/llvm-libc++/../llvm-libc++abi/libcxxabi/src/abort_message.cpp:74: void abort_message(const char *, ...): assertion "terminating with uncaught exception of type

Проблема в том, что у меня не настроен Android NDK r11 в моей системе (MacOS). Я скачал и настроил Android NDK r16 . Я также вижу, что во время сборки используется сконфигурированный NDK (путь моего сконфигурированного ANDROID_NDK в моем .bash_profile).

llvm-libc++ из r11 не совместимо с сторонней библиотекой .so. Почему я получаю сообщение об отмене от NDK r11 ?

1 Ответ

0 голосов
/ 06 мая 2018

Чтобы ответить на мой собственный вопрос. Похоже, что Платформа разработки мобильных приложений (Appcelerator Titanium), которую я использую, внедрила свой собственный файл libc++_shared.so на этапе сборки приложения. Вот почему мой собственный файл libc++_shared.so не попал в файл APK. Это был еще один файл с самого начала. И этот файл был с Android NDK r11 .

Файл, скопированный на этапе сборки, находится в Titanium SDK: sdk/android/native/libs/*/libc++_shared.so.

...