android 创建aar包

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. 在 appbulid.gradle 中加入依赖:

implementation(name: 'app-debug', ext: 'aar'),其中:app-debug为你打包好的aar包的名称。

3.在 appbulid.gradle 中增加:

// 这是添加aar依赖需要的
repositories {
    flatDir {
        dirs 'libs'
    }
}

如果不增加,会报错:ERROR: Unable to resolve dependency for xxx。

4.在AndroidManifest.xml中配置:

 这样基本上就可以引用了。

4. 需要注意项

1. aar名称最好不要用默认的(即app-debug),以免和引用的第三方sdk等引发冲突;最好以功能描述来命名。

2. 如果主module有引用aar包中的module,那aar包中的对该module的依赖要用 api ,而不是

implementation,否则会报错。该规则同样适用于引用module等

猜你喜欢

转载自blog.csdn.net/set_one_name/article/details/128533508
今日推荐