1. 背景
由于新入职公司在做硬件接入的项目,需要接入多款硬件,而且,几个app的功能不太一样。于是,需要模块化开发,并且许多东西都是可以复用的(像网络框架、log、shareprefrence、权限申请等)。因此这里总结一下aar的创建和引用。
2.aar创建
1. 创建普通项目
由于各个项目都要引用这个aar,所以建议直接新建一个项目,然后生成aar,在各个项目中直接引用。
选择“add no activity”,点击next,
在配置项目界面设置包名、项目名等。
点击finish,完成项目创建。这一步就是正常创建项目,没啥可说的。
2. 将普通项目改为aar项目
这一步也很简单,也就几步操作的事。
首先是修改apply plugin:将 apply plugin: 'com.android.application’
修改成 apply plugin: ‘com.android.library’ ,如下
(目录在app的bulid.gradle)
然后就是将 applicationId 这一行注释掉,如下:
(目录任然是app的bulid.gradle)
接着修改清单配置文件:application,具体来说:修改 application 属性:
还有就是如果上面创建项目时,没有选择“add no activity”,那在这里要把“main”申明去掉,如下:
到这里修改基本完成。
3. 打包aar包,共其他项目引用。
这里也分debug.aar和release.aar。
需要打debug包:直接点击“build”,选择“ Make Module 'app' ”,等待编译完成,即可在build目录下看到aar包(具体目录为:你的项目目录\app\build\outputs\aar)
需要打release包:gradle界面,选择当前项目——>Tasks——>build,双击“assembleRelease”,
等待编译完成,即可在build目录里下看到aar包。
备注:这里有的在build中找不到assembleRelease,那可以到其他中找找。
3.aar引用
引用分两步
1. 将打包好的aar复制到你的项目的“libs”中
2. 在 app 的 bulid.gradle 中加入依赖:
implementation(name: 'app-debug', ext: 'aar'),其中:app-debug为你打包好的aar包的名称。