【发布时间】:2015-03-27 16:44:47
【问题描述】:
我最近开始使用 Android NDK,但在共享库方面遇到了一些问题。
我用 Eclipse 创建了一个项目,它允许我使用 NDK 和 natives 函数。但现在,我想使用我用 QtCreator 创建的另一个共享库。
所以这是我的问题。是否可以在我的 NDK 项目中包含一个共享库,即使我没有调用 ndk-build 来创建它?
让我们举个例子。如果我像这样创建一个简单的共享库:
g++ -Wall -shared -fPIC -o libapi.so MyDLL.cpp
我可以在我的 NDK 项目中使用它吗(Android.mk):
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := api
LOCAL_SRC_FILES := ../sharedLibs/libapi.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := dbapi
LOCAL_SRC_FILES := dbapi.cpp
LOCAL_C_INCLUDES += ../includes
LOCAL_SHARED_LIBRARIES := api
include $(BUILD_SHARED_LIBRARY)
当然,我可以在我的本地 NDK 端使用它的功能吗?
使用这种方法,当我尝试构建我的 Eclipse 项目时遇到这个错误:
/libs/armeabi-v7a/libapi.so: File format not recognized
我认为我的共享库与 ndk-build 不兼容(对,错?)。
谢谢你的回答。
【问题讨论】:
标签: android android-ndk shared-libraries