Android Studio 生成aar/jar并导入Android Studio工程中

aar&jar

aar与jar不同,不像是jar里面只有class文件一样,还有so文件,资源文件和第三方库文件等等,其实就是一个压缩文件。

生成jar

使用gradle task来生成一个jar文件
在module的build.gradle文件中创建任务,如图:


具体代码:

1
2
3
4
5
6
7
8
task makeJar(type: Copy) {
delete 'build/libs/mysdk.jar'
from('build/intermediates/bundles/release/')
into('build/libs/')
include('classes.jar')
rename ('classes.jar', 'mysdk.jar')
}
makeJar.dependsOn(build)

sync(同步)完之后,使用命令行或者使用可视化gradle task来执行上面创建的任务(makeJar)。
使用可视化任务列表更为可观
到build/libs/中查看生成的jar

这个jar就是执行task之后生成的指定name的jar,可以直接使用。下面就是如何使用这个jar。

导入jar

1.拷贝到工程的libs目录;
2.build.gradle中的依赖添加 compile files(‘libs/mysdk.jar’)。
使用可视化工具也可。Project Structure

生成aar

要生成 aar 文件,必须将 Module 配置为 library,在 gradle 文件中注明: apply plugin: ‘com.android.library’;如图:

要想apply plugin为library,可以创建Android Library,也可以手动修改apply plugin:为library,一般采用前者方式。
sync之后,在outputs文件夹下会生成相应的aar文件,比jar的方式要简单,不需要创建任务。

导入aar

与添加jar类似,首先要拷贝到libs目录下,然后在工程的build.gradle文件中添加依赖,与jar稍有不同的先要添加库,如图,
,然后在依赖中添加该aar文件

1
compile(name: 'selflibrary-release', ext: 'aar')

其中selflibrary-release要与你的libs下的aar文件名称一致。

小结

Gradle 的一些基本依赖配置方式如下:

1
2
3
4
5
6
compile fileTree(dir: 'xxx', include: ['*.jar', "*.xxx"])://将某个目录下所有符合扩展名的文件作为依赖;
compile 'com.xx.xx:ProjectName:Version'://配置Maven` 库作为依赖;在 Maven 库中心 可以搜索自己想用的库进行依赖;
compile project(':AnotherModule')://配置另一个 Module 作为本 Module 的依赖,被依赖的 Module 必须被导入到当前工程中;
compile files('xxx.jar')://配置某个 jar 包作为依赖。
aar : apply plugin: 'com.android.library'
apk :apply plugin: 'com.android.application'

Fork me on GitHub