现在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 后,生成的临时文件也会随之变动,不用担心改动不同步的问题。