android +JNI 静态库+动态库

Android +JNI 之动态库+静态库


这个的内容我以ndk下面的sample---twolib为例子,这个是ndk自带的例子,

首先呢先把这个这个例子拷贝到其他路径上来,然后我们可以先测试一下,ndk-build,发现在obj目录下面静态库和动态库都有生成,而在libs目录下面只有一个so文件,这篇文章,我主要以修改为主,接下来,我要修改AndroidMk文件了,


LOCAL_PATH:= $(call my-dir)


# first lib, which will be builtstatically

#

#include $(CLEAR_VARS)


#LOCAL_MODULE := libtwolib-first

#LOCAL_SRC_FILES := first.c


#include $(BUILD_STATIC_LIBRARY)


# second lib, which will depend on andinclude the first one

#

include $(CLEAR_VARS)


LOCAL_MODULE := libtwolib-second

LOCAL_SRC_FILES := second.c



LOCAL_STATIC_LIBRARIES :=libtwolib-first


include $(BUILD_SHARED_LIBRARY)


可以看到这里面我主要把first那个部分的编译部门给注释掉了(要先运行一遍得到firstA文件哦)

然后运行,结果发现了错误,主要是因为LOCAL_STATIC_LIBRARIES:= libtwolib-first 这个语句错了,这里的原因是路径错误,于是我们修改路径:

首先,我们要把那个静态库移动到jni文件目录下,然后添加一句

LOCAL_LDFLAGS =$(LOCAL_PATH)/libtwolib-first.a(把LOCAL_STATIC_LIBRARIES这句注释掉),然后再编译,结果通过了。


做这个的目的呢,就是要把openssl静态库编到自己的动态库里面来,我下面再说把。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值