Android:多aar打包

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android:多aar打包相关的知识,希望对你有一定的参考价值。

参考技术A 我使用的是网上这个 https://github.com/kezong/fat-aar-android
这个github库。

具体配置是再跟gradle中添加:
classpath 'com.kezong:fat-aar:1.2.7'

在需要打包的地方添加:
apply plugin: 'com.kezong.fat-aar'

然后添加需要合并的包,可以是远程包,本地aar,本地project。可以说很完整了。
例如:

怎么看远程依赖呢?下面这里就可以看

最后生成的aar包如下,jni和jar包都有了

反编译看看classes.jar看看,本地项目的类都在这里面了。

后面得看看是怎么打包起来的了,不然后续作者不维护了就蛋疼了。

将aar打包进so?

参考技术A 前段时间有个项目,需要用c++开发我们自己的sdk,另外,我们的sdk又依赖于另一个aar包,当时想当然的以为生成so的时候会一起把aar打包进去,结果发现调用so的时候,aar里面的类根本找不到,说明aar 并没有一起打包进so

后来想了下,既然将aar打包进so没法实现,不如把我自己的so库,还有第三方的aar再重新打一次,最终打成aar包,这样就方便多了。步骤如下:

先在原来测试我们自己so库的测试工程上新建一个moudle:

下面将上图中的classes.jar还有lib下面的jar包拷贝到新建的module下的libs目录,并将剩余的jni,AndroidManifest.xml等文件分别拷贝合并到对应的目录内

5.下面就是要把我们aar拆出来的零件以及我们自己的so库重新打包成aar:

工程右侧,找到Gradle,点开后找到我们上面新建的module,点击Tasks->build->assemble
等构建完成后,aar就生成了,生成目录在我们的moudle目录下面的:
build->outputs->aar下面

okay

以上是关于Android:多aar打包的主要内容,如果未能解决你的问题,请参考以下文章

Android多模块构建合并aar解决方案

AndroidStudio 打包 Android项目 成 aar

Android端代码打包成jar包/aar形式

Android Studio 打包 jar 及 aar 包

Android Studio 打包 jar 及 aar 包

Android Studio 打包 jar 及 aar 包