最近在公司搞了一个音视频会议的项目,要求将主要接口封装成sdk。本想打成jar文件,可是又有一些音频文件需要一起打包,所以就学习了一下aar文件制作流程。制作方法网络上有很多,在这里写下来复习一下加深印象,还有一些自己的经验体会。
首先明确一下概念:
1.jar文件包含清单文件及class文件,不包含资源文件
2.aar文件包含清单文件、class文件及res下的各种资源文件
我的制作流程:
1.创建工程==>完成工程并测试通过==>新建module,并选择android library
2.将需相关文件复制到module里面,我的经验是,首先将所有class文件复制进来,其次编辑manifest文件(activity、service、receive等该声明的声明,还有权限等),最后复制res中的资源文件。调试module中的代码直到编译器不爆红。
3.RebuildProject使编译器自动生成aar文件
4.生成的aar文件存在于build==>output中,至此aar文件的制作已经完成
5.接下来,我新建了一个工程,验证了一下这个aar文件是否能够使用,这里顺便讲一下androidstudio中如何使用aar包
如图所示,和jar文件一样我们把它放到libs中,然后配置gradle文件:
repositories {
flatDir {
dirs 'libs'
}
}
compile(name:'你的aar文件名', ext:'aar')
配置完成后同步你的gradle文件
同步完成后,我们将会在ExternalLibrary中看到这个aar文件已经被成功引用了,如下图
补充点自己踩过的坑:
1.sdk清单文件中的service啊activity什么的一定要在外面再声明一次啊啊啊啊啊啊啊啊啊啊!!
2.权限可以不在外面重复声明但是一定不要忘了在module的清单文件里写啊啊啊啊啊啊啊啊啊啊啊啊!!老子因为马虎被坑死了!!!!!!