eclipse编译本地jni和加入第三方so库的冲突

本文介绍在Android项目中使用JNI时如何正确引入第三方的SO库。通过将第三方库放置于jni目录并修改Android.mk文件的方式,避免在重新编译时被删除。文章提供了一个具体的例子来说明如何实现。

在android项目里用到了jni,libs生成了armeabi/libXXX.so文件,后来需要引用第三方的so库,直接把第三方库放在libs/armeabi下,重新编译生成程序的时候会把第三方的库给删掉。

解决方法:把第三方库放在jni目录下,修改Android.mk文件。在原来的mk文件最后面加上

include $(CLEAR_VARS)
LOCAL_MODULE    := XXX
LOCAL_SRC_FILES := XXX.so
include $(PREBUILT_SHARED_LIBRARY)

如银联的库的名称为libentryex.so,整个mk文件:
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := hello #自己写的库
LOCAL_SRC_FILES := hello.c 

include $(BUILD_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE    := libentryex
LOCAL_SRC_FILES := libentryex.so
include $(PREBUILT_SHARED_LIBRARY)

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值