Android--aar打包

本文详细介绍了Android中的aar和jar包的区别,aar包包含资源文件和AndroidManifest.xml,而jar包仅包含class。接着,讲述了如何打包aar,包括不包含和包含第三方aar的情况,并提供了fat-aar-android的使用方法来解决嵌套aar的打包问题。

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

一、aar包和jar包

Android中常见的第三方库包括:.so、.jar、.aar,一般来说.so是C或C++语言的内容打包成的库。

  1. jar包:只包含了class文件与清单文件 ,不包含资源文件,如图片等所有res中的文件。

  2. aar包:Android库项目的二进制归档文件,包含所有资源,class以及res资源文件全部包含。将aar解压打开后,会包含AndroidManifest.xml,classes.jar,res,R.txt。



二、打aar包

两种打包场景:
(1)Module中不含有其它aar
(2)Module中嵌套第三方aar

1.Module中不含有其它aar

  1. 在Project中新建Module

  2. 进入到Module的build.gradle文件:
    (1)将 apply plugin: ‘com.android.application’ 修改为 apply plugin: ‘com.android.library’,该Module会变成了一个library
    (2)注释掉applicationId这一行。由于打包后该Module不再是一个独立的应用,而是一个其它项目的附属,所以不需要独立的applicationId


  3. 进入到Module的AnroidManifest.xml文件:
    (1)如果有自定义的Application类,把name属性和icon属性删掉。因为打包成aar并被其它项目引用后,该AnroidManifest.xml会和所在项目的AnroidManifest.xml合并,这时会产生冲突。


  4. 打包aar:
    进入到Gradle界面,双击该选项就编译生成aar包了



2.Module中嵌套第三方aar

两种解决方案:
1.解压第三方aar包,手动把第三方aar包中的class以及res资源文件,复制到自己的需要打aar包的模块中。
2.使用第三方框架库:fat-aar-android(地址


3.fat-aar-android的简单用法

先看项目的整体结构:sdk是需要打aar包的模块,其中包含了一个第三方的aar包


1.在项目的build.gradle文件中,添加以下代码:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V7OemYOW-1627103338638)(https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/6018b512fa9ea6e7dd1e45f4cf3bb0ee)]

2.在模块的build.gradle文件中,添加apply plugin: 'com.kezong.fat-aar',应用fat-aar。

由于是libs中的aar是嵌套的,所以需要用embedembed(name: 'kssdk-ad--3.3.11-publishRelease-e2b64a3ec', ext: 'aar')

3.引入fat-aar完成,直接打包aar。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值