AndroidStudio打包.so库

 AndroidStudio版本2.3

打包方式:CMake

需要的插件:NDKLLDB

首先下载好以上环境

如果上图列表中没有CMake,LLDB等选项,很可能的原因是Android SDK Tools有问题,需要重新下载Android SDK Tools

需要打包的.so库关系比较复杂,出现了动态库依赖动态库的情况,我们就以下例为准:


本次,我需要打一个名称为impact-lib.so。这个库要链接libshape.so, libtile.so,libmif.so, libcar.so

这些库是由car,mif,shape,tile4c++工程生成的。

car,mif,shape,tile是从第三方拿到的源码,是在linux平台下建立的标准c++工程,每个目录都是独立的工程,他们之间又有依赖关系。关系如下:

libshape.so不依赖任何其他库

libtile.so依赖libshape.so

libmif.so依赖libshape.so, libtile.so

libcar.so依赖libshape.so, libtile.so, libmif

为此,我建立了gen-libs模块专门用于提前生成上边4个库,模块的结构如上图,在src/main/下建立cpp目录,并把car,mif,shape,tile工程拷贝进去。

cpp目录下手动建立CMakeLists.txt文件

gen-libs模块需要以下配置:


其中abiFilters可自行配置平台目标

cppFlags表示对c++11的支持

cmake.path配置成上一步建立好的CMakeLists.txt所在的相对路径,相对路径指的是相对于build.gradle

确保以下路径配置是正确的:


添加的模块都在这里出现:


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值