Android Studio *.jar 与 *.aar 的生成与*.aar导入项目方法

Android Studio的一个好处在于Android函数库包格式“aar”格式。以前,Android函数库通常需要被导入到IDE以此将App需要的资源加入编译。但是现在的Android函数库可以被直接包含,与“jar”文件被Java项目包含的方式类似。这项功能虽然出现已久,但确实非常受欢迎。

  • Android Studio新建一个Library

1.点击“New Module”

Android_Studio_New_Module_Menu

2.选中新建“Android Library”Android_Studio_New_Module_Libary_Wards

3.根据向导一步一步继续下去就可以了。

  • 简单介绍

在Android Studio中对一个自己库进行生成操作时将会同时生成*.jar与*.aar文件。

分别存储位置:

*.jar:库 /build/intermediates/bundles/debug(release)/classes.jar

*.aar:库 /build/outputs/aar/libraryname.aar

两者区别:

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

*.aar: 包含所有资源 ,class以及res资源文件全部包含

如果你只是一个简单的类库那么使用生成的*.jar文件即可;如果你的是一个UI库,包含一些自己写的控件布局文件以及字体等资源文件那么就只能使用*.aar文件。

使用方式:

*.jar:拷贝到:libs目录,eclipse直接导入即可,AndroidStudio项目中添加:

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
}

重新编译一次项目既可完成加载。

*.aar:有两种方式,分别为本地加载以及网络加载,由于网络加载涉及到发布到mavenCentral托管的问题这里不做讨论;另外eclipse很久没有使用了也不做讨论;在这里给大家说一种本地加载的方式,简单快捷。

这里演示的aar文件为: “genius.aar”

第一步:拷贝到:libs目录

第二步:build.gradle 配置文件中更改为

repositories {
    flatDir {
        dirs 'libs'
    }
}
dependencies {
    compile(name:'genius', ext:'aar')
}

分别添加了 “repositories” 与更改了 “dependencies” ,然后重新编译一次项目就可以正常使用了。

这时打开你的项目地址 “\build\intermediates\exploded-aar\” 你会发现下面多了一个文件夹 “genius”打开后能看见里边包含了一个 “classes.jar” 文件与一些 资源文件和“R.txt”文件 。

r6BBviN

这就是Android Studio自动解析了aar文件后出现的东西。

对于比较常见的项目配置,有如下的参考,可以看到带版本号的情况,使用的aar跟jar文件还是有差别的,aar文件,最后要增加一个“@aar”的标记。

dependencies {
    androidTestCompile 'junit:junit:4.+'
    compile fileTree(dir: 'libs', include: '*.jar')
    compile 'com.github.flavienlaurent.datetimepicker:library:0.0.2'
    compile 'de.keyboardsurfer.android.widget:crouton:1.8.4@aar'
    compile 'com.google.android.apps.dashclock:dashclock-api:2.0.0'
}

参考链接


[Android][Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法

发布者

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注