项目中集成aar
在android 开发中我们除了引入jar包之外,有时候还会需要使用到arr包,那么既然有了jar为什么还要arr呢?这里就要说一下arr的不同了,arr包除了包含了字节码文件之外,还会包含一些资源文件,也就是说jar只不过是arr的一个子集而已。从上面可以看出arr要比jar要好用一些,我举例一下arr的优点。
1、arr文件使用AS编译的时候会自动生成-build—>outputs–>arrs(里面有debug和replace格式的,一般引用到项目中的时候我习惯用replace)—-(jar文件夹也可以在编译的时候自动生成 位置:build–>intermediates–>bundles–>defalt–>classes.jar)
2、aar文件编译要比jar文件编译会快上nS
3、arr文件占的位置比较小
4、arr不可见,相对于代码保护来说更安全
本人发现以上几点悠点,在本项目中还是比价实用的,下面说下集成的步骤,集成分为以下两种情况:
1、在APP本项目中引用
(1)把arr文件拷贝到项目中的libs文件夹中
(2)在app.build.gradle中添加资源位置
repositories {
flatDir {
dirs 'libs'
}
}
(3)在dependencies中配置依赖
compile(name:'arr名称', ext:'aar')
2、在项目依赖的library中添加arr依赖
方法和在1中的方法相同,配置资源位置的时候进来用相对路径
repositories {
flatDir {
dirs '../libary名称/libs'
}
}
下面说遇到的吭
在配置依赖的时候多了个后缀名,导致出现 下面这种情况
错误写法:
compile(name:'baselibrary-release.arr', ext:'aar')
正确写法如下:
compile(name:'baselibrary-release', ext:'aar')