android 加载三方so的方法_加载第三方so

将so打包进apk ,网上常见的就是 在源码中有c代码,编译出一个so,然后打进apk,也是网上大家转来转去的那几篇文章,因为一致只做纯java开发,这种方法没有试过。

如果是第三方so ,则有诸多麻烦。

一种就是 其他同事现在的方法,在eclipse开发,那么libs/armeabi下的so 自动弄进去了,真是简单又方便。

另外一种就是要把so拷贝到编译环境的某个目录,在编译代码时整合进去。

客户方给了一个so,不知道开发细节,需要编进去。我习惯了在代码树下开发,刚开始并没有注意配置so,结果编译正常,安装正常,但是一旦 loadLibary ,就exception: load library renturn null。

解压发现apk发现,里面并没有源码对应的libs/armeabi/xxx.so,看来并没有打包进去。

在纠结中实战,找到如下实用方法;

1  copy 你的so 到out/target/product/generic/system/lib 。 这个目录是你没有修改过TARGET_PRODUCT的情况下。

如果你的TARGET_PRODUCT是 XXXYYY,则要去out/target/product/XXXYYY/system/lib 。

ps:这一步其实可以在第二步中的mk文件中用代码执行,同事给的参考为:

$(shell mkdir -p $(TARGET_OUT)/../obj/STATIC_LIBRARIES/$(LOCAL_MODULE)_intermediates )

$(shell cp $(LOCAL_PATH)/lib/l

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值