当我的项目使用Android NDK r16构建时,为什么我从Android NDK r11收到错误消息?

时间:2018-05-05 21:06:14

标签: android c++ android-ndk libc libc++

我有一个带有第三方库(.so)的Android项目。与第三方.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

问题在于我没有在我的系统(MacOS)中配置 Android NDK r11 。我下载并配置了 Android NDK r16 。我还可以在构建期间看到使用已配置 NDK(我ANDROID_NDK中已配置的.bash_profile的路径。)

llvm-libc++ r11与第三方.so库不兼容。为什么我从 NDK r11 获取中止消息?

1 个答案:

答案 0 :(得分:1)

回答我自己的问题。我正在使用的移动应用程序开发平台(Appcelerator Titanium)似乎在应用程序构建阶段注入了自己的libc++_shared.so文件。这就是我自己的libc++_shared.so文件没有进入APK文件的原因。这是另一个文件。该文件来自 Android NDK r11

在构建阶段复制的文件位于Titanium SDK中:sdk/android/native/libs/*/libc++_shared.so