首页 > 其他分享 >Android--aar打包

Android--aar打包

时间:2023-03-06 12:01:30浏览次数:33  
标签:文件 -- fat Module aar Android 第三方 打包

文章目录
一、aar包和jar包
二、打aar包
1.Module中不含有其它aar
2.Module中嵌套第三方aar
3.fat-aar-android的简单用法
一、aar包和jar包
Android中常见的第三方库包括:.so、.jar、.aar,一般来说.so是C或C++语言的内容打包成的库。

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

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

 


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


1.Module中不含有其它aar
在Project中新建Module


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

 

 

 

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

 

 

 

打包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。
————————————————
版权声明:本文为CSDN博主「HelloSim」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_45120905/article/details/119056820

标签:文件,--,fat,Module,aar,Android,第三方,打包
From: https://www.cnblogs.com/xgjblog/p/17183247.html

相关文章

  • 内部类_Inner
    定义:在一个类中定义一个类,就叫内部类。成员内部类:定义在类中方法外的叫成员内部类局部内部类:定义在方法中的叫局部内部类•成员内部类:a、创建不带修饰符的......
  • Uncaught (in promise) TypeError: Cannot read properties of undefined (reading ‘
            参考:https://blog.csdn.net/yuanqianxi/article/details/124503964......
  • 让PPT中表格内容分批出现
    继上一篇文章对PPT的吐槽之后,又发明了一套方法用于分批展示PPT中表格内容. 首先,展示原始表格. 复制表格,然后右上角选择性粘贴,复制为增强型图元.   ......
  • 一篇文章介绍清楚前端可视化开发工具
    在数字化信息丰富发展的当下,为了适应互联网的快速发展和激烈竞争,前后端分离已经成为趋势。那么,大家知道前端可视化开发工具吗?都有哪些具体内容?今天,流辰信息低代码开发服务......
  • prometheus监控nginx
    1.下载vtscd/optgitclonehttps://github.com/vozlt/nginx-module-vts.git2.编译nginx./configure--prefix=/app/nginx-1.22.1\--user=www\--group=www\--......
  • make & make install安装Redis时失败报错
    问题描述:今天在安装redis服务时,执行make&makeinstall命令后出现下面这个错误zmalloc.h:50:31:fatalerror:jemalloc/jemalloc.h:Nosuchfileordirectory  ......
  • 9.2第二媒介原理2
    前面讨论符号的媒介物时,我们讲到口语的媒介物是声音,书面语言的媒介物是墨水线条印迹。古人在用石子计数时,小石子也是一种媒介,天然的实物媒介。后来的传统计算工具,如算筹、......
  • RedisDesktopManager工具本地服务端连接失败的问题
    观前提示,以下方法仅实践于本地服务端的连接测试。  在redis分布式运行后,需要对redis队列和指纹信息进行清除,但是,在打开RedisDesktopManager可视化工具进行连接时,发现总......
  • 【DFS】LeetCode 90. 子集 II
    题目链接90.子集II思路去重方法与【DFS】LeetCode40.组合总和II思路相似代码classSolution{privateList<List<Integer>>result=newArrayList<>();......
  • 内部类
    内部类普通内部类在一个类里面创建一个类就是普通内部类内部类实例化方法:外部类.内部类实例名=外部类实例.new内部类();例如:publicclassMain{publicst......