在一个Android项目的build.gradle中,我们通常都需要引用他人的资源包来使得我们的项目更加丰富,满足更多的需求。但许多人刚接触Android Studio对于导包的方式方法还不够清晰,在这里便整理出了关于Android Studio导包的多种途径方式,各程序猿可以选择适合的方式进行导入。
总的来说,项目的Dependencies中通常有以下数种类别:
Compile
compile是对所有的build type以及favlors都会参与编译并且打包到最终的apk文件中。
而在它其下也有几种不同的导包声明:
- compile fileTree(include: ['*.jar'], dir: 'libs') 寻找“libs”文件夹下面所有jar后缀的包
- compile files('libs/picasso-2.4.0.jar') 单个jar包导入,若已导入上面的“fileTree”则这个可不使用
- compile project(':androidPullToRefresh') 项目导包,会为项目Modules增加一项,同时Android项目树会出现该导包
- compile 'com.android.support:appcompat-v7:22.2.1' 普通导包
Provided
Provided是对所有的build type以及favlors只在编译时使用,类似eclipse中的external-libs,只参与编译,不打包到最终apk。
- provided 'com.squareup.dagger:dagger-compiler:1.2.1'
APK
只会打包到apk文件中,而不参与编译,所以不能再代码中直接调用jar中的类或方法,否则在编译时会报错
Test compile
Test compile 仅仅是针对单元测试代码的编译编译以及最终打包测试apk时有效,而对正常的debug或者release apk包不起作用。Android Studio引入测试依赖包含两个关键字分别是testCompile和androidTestCompile。testCompile是声明本地测试的依赖。另外,androidTestCompile是一种特殊依赖。它用于声明Instrumented测试依赖。通常是以下类似显示形式:
- androidTestCompile(‘com.android.support.test.espresso:espresso-core:2.2.2’,
{
exclude group: ‘com.android.support’, module: ‘support-annotations’
})
Debug compile
Debug compile 仅仅针对debug模式的编译和最终的debug apk打包。
Release compile
Release compile 仅仅针对Release 模式的编译和最终的Release apk打包。
除此之外,我们还可以建立自己的网络包,以github为例:
step1
对自己的项目执行开源
step2
执行开源前需要填入版本号、标题、描述等信息
step3
发布开源之后就是要知道如何在自己项目引用了,在这里,我推荐一个比较好用的导包链接生成网站:https://jitpack.io/
step4
在你填入github项目搜索后,就能够找到该项目发布的开源版本号,点击按钮“Get it”
step5
滚动网站屏幕到下方,可以见到导入教程,如图中红字描述,把相应的代码加到文件当中去
- compile ‘com.github.VincenTxxx0327.SuperPlayer:ijkplayerlibrary:v1.0.0’
写在最后
相信看到这里,你已经会在Dependencies添加导包了,这样网络包已经导入完成,只要重新build一次就会自动从网络上下载这个github开源包。这样显得项目目录没有那么臃肿(如果使用compile project就会显示很多文件夹),但是第一次加载会较长时间,因为需要网络下载。
希望这篇文章能够帮到你,对Android gradle有更多认识。