android打包诸多so成一个aar并调用aar中的so流程总结

本文详细介绍了如何将Android项目中的多个so库打包成aar,以及aar的使用方法,包括直接引入aar和放置在libs目录下的两种方式。在打包过程中,需新建一个library module,将so库及相应配置迁移过去,然后通过Gradle assemble生成aar。在使用aar时,可能遇到的导入问题及解决办法也进行了说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天遇到一个需求,需要把项目中的诸多的so封装成一个aar,直接使用这个aar进行调用,因为诸多的so看起来太多了,不太好管理,封装成一个aar也变相的达到了加密的效果。

首先,简单来说,aar其实就是一个压缩包,把一个项目或者一个module压缩成一个压缩包,里面可以包含项目中的所有东西,比如图片,布局,类,so等等,在其他项目中直接引入这个aar之后,就可以直接去使用这个aar中的资源了。
这样有一个什么好处呢,可以达到加密,方便管理的效果。这个aar内部的配置,在内部就可以完成了,和外部的配置没有什么关联,简化了配置文件,简化了项目module之间的关系。
把aar后缀改为rar,解压看一下里面的动有什么:
在这里插入图片描述

这里总结一下,如何打包aar,然后总结一下如何去把aar导入项目中去使用这个aar。

首先,要确保,打aar之前,项目是OK的,没有报错的,否则这问题点就不太好查找了。下面开始打包aar。

打包aar流程

1,首先,把要打包的东西放在一个module里。这里就以把项目中所有的so打包为aar为例。
Android studio层级管理切换到project,然后右键项目根,new–module—Android library,一路下一步。
在这里插入图片描述
OK,这样就建成了一个module,它会自动依赖进主APP ,如果没有依赖进去也没关系,找到APP的build.gradle(app),在dependencies里面增加对这个新建module的引用,也非常简单一句代码:

implementation project(path: ':solibrary')

这样,到此,就新建好了一个module,并且也把这个module关联到了APP这个module上面。

第一步的重点就是:新建一个module并把它关联到APP module。

2.第二步就是,把APP里面要封装成aar的东西全部剪切进这个module里。在这里就是剪切进solibrary这个module里。
但是值得一提的是,so,它是交叉编译生成的,对项目的目录层级包名有要求,所以在剪切过来的时候要和在它之前的地方一样的层次目录和一样的build.gradle配置。
什么意思呢?
就是说,在app module里面,so放的路径是什么,在solibrary module里面也要是同样的路径。在我的项目里,最初所有的so都放在了main/src下面新建了一个libs文件夹,所有的so都在这里,当然在build.gradle(app)里面也给这些so做了路径配置

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值