Eclipse NDK,NativeActivity项目。 我想尝试将Liquidfun(Box2D)库添加到我现有的项目中。不幸的是,互联网上没有人解释如何准确地做。 在使用ndk(遵循此https://google.github.io/liquidfun/Building/html/md__building_android.html)构建库之后,我陷入困境,并运行示例项目。我完全不知道如何在我自己的项目中使用它。 我的 Android.mk ,我已经在使用sfml了。
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := sfml-example
PROJECT_FILES := $(wildcard $(LOCAL_PATH)/CPP/*.cpp)
PROJECT_FILES := $(PROJECT_FILES:$(LOCAL_PATH)/%=%)
LOCAL_SRC_FILES := main.cpp
LOCAL_SRC_FILES += $(PROJECT_FILES)
FILE_LIST := $(wildcard $(LOCAL_PATH)*.cpp)
LOCAL_SHARED_LIBRARIES := sfml-system
LOCAL_SHARED_LIBRARIES += sfml-window
LOCAL_SHARED_LIBRARIES += sfml-graphics
LOCAL_SHARED_LIBRARIES += sfml-audio
LOCAL_SHARED_LIBRARIES += sfml-network
LOCAL_WHOLE_STATIC_LIBRARIES := sfml-main
include $(BUILD_SHARED_LIBRARY)
$(call import-module,sfml)
提前致谢。
答案 0 :(得分:0)
我在自己的项目中有一些预建库,我把它们包括在内:
@Override
public int getCount () {
return values.size();
}
这是针对预构建的静态库(扩展名为.a)。如果您想要包含共享,只需将其更改为include $(CLEAR_VARS)
LOCAL_MODULE := libcurl
LOCAL_SRC_FILES := lib/$(TARGET_ARCH_ABI)/libcurl.a
LOCAL_STATIC_LIBRARIES := libcares libssl
LOCAL_EXPORT_LDLIBS := -lz
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/curl/include
include $(PREBUILT_STATIC_LIBRARY)
即可。
要包含的文件位于BUILD_SHARED_LIBRARY
文件夹(包含其他库)中,库的头文件放在MyProject/jni/lib/{arch}
内(就像它在MyProject/jni/curl/include
变量中可见)
传递给LOCAL_EXPORT_C_INCLUDES
的名称必须与在其他库/模块的LOCAL_STATIC_LIBRARIES
中声明的名称相同。
您可能需要的所有内容都可以在NDK文件夹中的NDK文档中找到。对于预构建的库,有单独的部分。