AndroidStudio使用jar包,aar包

现在AndroidStudio已经更新到1.4.3,谷歌也不再维护Eclipse的Adt插件,转投AndroidStudio阵营是早晚的事~

想在AS中使用jar包灰常简单,在app下建立libs文件夹,然后将*.jar文件拷贝进去,在.jar文件上右键选择"Add As Library"

就OK啦,如下图:


------------------------------------------------------------------------------------------------------>>>>>>>>>>>>>>>>>>>>>>>>>>

但是jar包是不包含资源文件的,万一遇到带资源的开源类库,导出jar包的结果一定是Error!!!

那么除了拷贝代码,或者导入工程为支撑类库意外,你还可以选择导出aar文件哦~

首先把Library项目在AndroidStudio中打开,编译完成后,其实就已经有aar文件啦,


它就在工程的build文件夹下,把这个.aar文件拷贝出来,你就可以作为和jar包相同的文件来使用了。一份aar文件其实就是一个zip压缩文件,但是它比jar多了资源文件、第三方库文件、so文件等,并将代码文件编译后压缩在classes.jar中。


第1中aar使用方式:

在File中选择Project Structure,选择添加一个新的Module,然后选择Import *.JAR or *.AAR Package的方式来导入,如下图所示:


点击这个"+"号


在弹出的窗口中选择后,点击"Next"


在此就可以选择自己需要导入的.aar文件啦,然后"finish"就ok。

导入后,在你的工程下面,会生成一个对应的与导入支持Library库相似的文件夹,里面是 .aar 文件以及 Android Studio 的配置文件。里面是3个*.aar;*.iml;*.gradle文件。

接着可以在 build.gradle 中配置依赖了,其他 Module 可以引用这个 Module 了,依赖方式使用 compile project(':*****') 的方式即可。
缺点:被依赖的 aar 无法 使用F3 跟进去,无法看到资源文件内容以及目录层级等等缺陷。

第2中使用方式:

使用配置依赖的方式引用

首先需要将 .aar 文件放入引用 Module 的 libs 目录下,就像使用一般的 jar 文件那样。


然后在 build.gradle 配置文件中把 libs 目录加入依赖:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile files('libs/volly-1.0.11.jar')
    compile files('libs/android-async-http-1.4.4.jar')
    compile files('libs/gson-2.2.4.jar')
    compile files('libs/picasso-2.5.2.jar')
    compile 'com.android.support:appcompat-v7:22.2.1'
    compile 'com.android.support:support-v4:22.2.1'
    compile(name: 'XAlertDialogLibrary', ext: 'aar')
}
repositories {
    flatDir {
        dirs 'libs'
    }
}

依赖就关联完毕。重新构建一下工程,在 Module 的 build/intermediates/exploded-aar 目录下,可以看到有新的文件生成:


这些文件完全是引用 aar 的解压。

Android Studio 安装反编译插件后,可以通过 F3 跟进到 class 文件里面,如果你有被依赖 Module 的源代码的话,还可以 Attach Source 关联源代码查看,可以很方便的查看 aar 中的资源文件。另外,这种依赖方式更新 aar 后,生成的临时文件也会随之变动,不用担心改动不同步的问题。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值