Android 开发,关于依赖库的制作,打包aar,及使用过程

给自己的库一个广告,ZXUtils,这是我自己做的一个android工具库,涵盖了日常开发的极大部分工具,封装了网络请求,并带有部分基于material design的view控件

https://github.com/StannyBing/ZXUtils

依赖地址:

compile 'com.github.StannyBing:ZXUtils:1.0'

--------------------------------------------------------------------------------------------------------------------------------------

最近在对公司的android项目进行重做,首先做的是依赖库方面,下面是一步步的建立依赖库,打包生成aar,并使用,以及过程中出现的一些问题的解决办法。

按照我的步骤,首先建立一个新的project,其实不建立也可以,在原有的project上建立module也是可以的,但是很难避免代码问题。

第一步、新建一个module

Android 开发,关于依赖库的制作,打包aar,及使用过程_第1张图片

Android 开发,关于依赖库的制作,打包aar,及使用过程_第2张图片

如图myLibrary就是我新建的module

Android 开发,关于依赖库的制作,打包aar,及使用过程_第3张图片

然后选择设置

Android 开发,关于依赖库的制作,打包aar,及使用过程_第4张图片

选择Project Structure

Android 开发,关于依赖库的制作,打包aar,及使用过程_第5张图片

选择app,选择deoendencies

Android 开发,关于依赖库的制作,打包aar,及使用过程_第6张图片

点右上角的加号,选择Module dependency,添加Module为依赖

Android 开发,关于依赖库的制作,打包aar,及使用过程_第7张图片

选择建立的myLibrary,点击添加即可

到这里,依赖库已经建好,并且可以使用了

我们可以在ZxUtils里面写各种工具类等,需要用到其他项目时,可以找到该项目的文件夹

Android 开发,关于依赖库的制作,打包aar,及使用过程_第8张图片

找到图上的myLibrary,就可以直接拷贝到其他地方用,具体的导入,引用的过程,我相信使用过依赖库的都会

对了,这里顺带提一下,如果依赖库,使用了资源文件,即要用到R文件的时候,可以会出现无法引用R文件的错误

解决办法如下:

Android 开发,关于依赖库的制作,打包aar,及使用过程_第9张图片

选择设置

Android 开发,关于依赖库的制作,打包aar,及使用过程_第10张图片

在如图所示的位置勾选上,点击确定,然后build-clear build-rebuild即可

那之后就可以使用了。

接下来呢,主要讲讲,不采用文件夹,而是打包生成aar包,来让其他项目使用的过程。

首先说一下aar这个东西,依赖库被他人使用有三种方式(本地文件的情况下,不包括github)

jar包,依赖文件夹,aar包

依赖文件夹,就是上面那种将整个文件夹拷贝到其他位置,让项目进行依赖,好处是可以对源文件进行更改,坏处是文件太大容易出问题。

jar包和aar包其实就是依赖文件打包的两种方式,jar包不能包含资源文件,aar可以包含资源文件

但是aar包只能用gradle来进行打包,即需要使用android studio,jar包可以使用eclipse来打包

好下一步,打包生成aar

Android 开发,关于依赖库的制作,打包aar,及使用过程_第11张图片

首先打开gradle

选择依赖库目录下的build

Android 开发,关于依赖库的制作,打包aar,及使用过程_第12张图片

双击assemble,即开始生成aar文件

然后在项目文件夹

......WorkSpace\CMail\mylibrary\build\outputs\aar

Android 开发,关于依赖库的制作,打包aar,及使用过程_第13张图片

找到生成的aar包

这就可以使用了

使用方法如下

拷贝aar包到想要使用的项目的libs目录下

Android 开发,关于依赖库的制作,打包aar,及使用过程_第14张图片

进入app的gradle

Android 开发,关于依赖库的制作,打包aar,及使用过程_第15张图片

如下

Android 开发,关于依赖库的制作,打包aar,及使用过程_第16张图片

添加两段

repositories {
    flatDir { dirs 'libs' }
}
以及

compile(name: 'myLibrary', ext: 'aar')
到这里,整个过程就结束呢,可以使用aar依赖里面的方法了,


要下班了,就没有添加测试的方法,代码等,但是我是测试通过才写的,有时间我再填上吧。

你可能感兴趣的:(Android基础开发)