5、使用依赖库(library、aar)

先看下什么是jar文件,什么是aar文件

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

.aar:包含所有文件(即class文件,清单文件,res资源文件等)。

在开发android程序时,除了主module之外,一般还会有一个或多个依赖module(依赖项目),依赖项目通常和应用项目类似,你可以使用相同的任务来构建和测试依赖项目,不同之处是应用项目将生成一个可以被安装和运行在Android设备上的apk文件,依赖项目则生成一个aar文件,该文件可以被Android应用项目(主项目)用作依赖库。

依赖库

这种方式比较常见,一般我们也都是这么用的


image.png

这里简单说一下,一个module作为依赖库之后相关文件的一些变化(虽然我们一般都是用可视化界面操作的)
Andorid应用插件是

apply plugin: 'com.android.application'

而Android依赖库插件是

apply plugin: 'com.android.library'

所以module作为依赖库,它的build.gradle中的插件必然是apply plugin: 'com.android.library'
settings.gradle文件也会发生变化

include ':app', ':mylibrary'

此外,应用module的dependencies代码块也会发生变化(看最后一行)

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
    implementation project(':mylibrary')
}
aar文件

如果你创建了一个依赖库,并且想在不同的Android应用中复用(如果你们公司有多个app),那么你可以创建一个.aar文件,将一个依赖库打包为一个aar文件是非常方便的。


image.png

双击assembleRelease这个任务就可以了,任务执行完之后,会生成一个arr文件

image.png

我们看下怎么样引入aar文件
新建一个项目,将.arr文件放入app下面的libs文件夹下


image.png

在顶层build.gradle中

allprojects {
    repositories {
        google()
        jcenter()
        flatDir{
            dirs 'libs'
        }
    }
}

在app下的build.gradle中

dependencies {
    implementation (name:'mylibrary-release',ext:'aar')
}
//告诉Gradle查找名字是mylibrary-release并且扩展名是.aar的依赖库

验证测试:


image.png

可以正确使用aar文件中的方法

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容