android ndk 怎样调用第三方的so库文件
2014-01-08 14:35
417 查看
android ndk 怎样调用第三方的so库文件
背景:编译一个test可执行文件,这个文件用到了libpoint.so(自己编译的)。同时libpoint.so依赖于libxml.so,而libxml.so又依赖于libiconv.so。好了,开始蛋疼的编译。用cygwin在win7下编译首先是jni目录的结构Android.mk文件内容LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := \
test.c
LOCAL_SHARED_LIBRARIES := point xml iconv
LOCAL_LDLIBS :=-llog
LOCAL_MODULE:=test
include $(BUILD_EXECUTABLE)
include $(LOCAL_PATH)/prebuilt/Android.mkprebuild目录
include目录就是用到的.h文件xml目录是依赖的libxml.so库文件Android.mk内容LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := point
LOCAL_SRC_FILES := libpoint.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
include $(PREBUILT_SHARED_LIBRARY)
include $(LOCAL_PATH)/xml/Android.mk
xml目录
到这里基本就能看出规律了,这里的Android.mk内容和上层的基本相同,如下LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := xml
LOCAL_SRC_FILES := libxml.so
include $(PREBUILT_SHARED_LIBRARY)
include $(LOCAL_PATH)/iconv/Android.mk
#libxml.so libiconv.soiconv目录:
Android.mk内容LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := iconv
LOCAL_SRC_FILES := libiconv.so
include $(PREBUILT_SHARED_LIBRARY)
#libxml.so libiconv.so
有上边可以看到,依赖无非就是一层层的加上去。在编译的过程,可能遇到如下的错误
可以看到是权限错误(permission dendied),只要找到相关目录,chmod即可
相关文章推荐
- android ndk 怎样调用第三方的so库文件。
- 如何在Android NDK中调用第三方库文件(.so)
- 如何在Android NDK中调用第三方库文件(.so)
- 如何在Android NDK中调用第三方库文件(.so)
- 如何在Android NDK中调用第三方库文件(.so)
- Windows下编译使用Android NDK,调用SO文件
- JNI中调用第三方提供的so文件
- Android NDK 编译 引用第三方 so 文件
- 小白Windows下编译使用Android NDK,调用SO文件
- Android NDK学习(5)调用.so文件
- Android 如何调用第三方.so (.a) 文件
- Android NDK开发及调用标准linux动态库.so文件
- Android NDK 生成以及调用so 文件
- 〖Linux〗Android NDK调用已编译好的C/C++动态连接库(so文件)
- Android NDK学习(5)调用.so文件
- Android 如何调用第三方.so (.a) 文件
- Android 如何调用第三方.so (.a) 文件
- 使用JNI调用第三方.so文件
- android NDK开发及调用标准linux动态库.so文件
- 【Android】导入第三方库时,关于so文件的一些思考