【发布时间】:2014-01-28 16:00:00
【问题描述】:
这是我第一次决定在这里写,但是我很长时间成功地使用了stackoverflow,感谢那些花时间帮助别人的人! :)
现在,我还没有找到这方面的信息,我正在尝试在我的 android 应用程序中使用一个使用 Qt 的库。问题是我无法加载 libQt5Core.so。运行 Android 时抛出 unsatisfiedLinkError: unknown failure。
我尝试通过两种方式加载它。
第一种,带有自己的 Android.mk:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := Qt5Core
LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libQt5Core.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include \
$(LOCAL_PATH)/include/QtCore
include $(PREBUILT_SHARED_LIBRARY)
第二个,手动添加到lib目录中。
我以这种方式从 Native.java 文件加载库:
System.loadLibrary("gnustl_shared");
System.loadLibrary("Qt5Core");
System.loadLibrary("mysharedlibray");
System.loadLibrary("thewholelibrary");
我 mysharedlibrary 有一个 Makefile,它是使用 Qt 的库。 整个库包括 jni 代码和 mysharedlibrary,我使用 ndk-build 制作。
我从 Necessitas 包中获得了 libQt5Core.so,我想我可以从 Necessitas 系统中使用它。
我还想制作一个“独立共享库”mysharedlibrary,其中包含 Qt(因为我在 Android 的 jni 中没有使用 Qt),但它不允许我这样做。
非常感谢!
【问题讨论】:
标签: android android-ndk unsatisfiedlinkerror qtcore