Android studio项目依赖导入

Android studio相比于eclipse开发app等功能更加强大,利用gradle编译、依赖注入等更加方便,即使知道gradle的强大,但是本人对于Gradle的理解和学习仍处于初步阶段,在学习过程中,遇到过不知如何导入依赖包,尽管网上有很多教程,但是还是想探究总结一下,加深自己的学习印象。

Android项目依赖类型

在Android项目开发中,往往需要网络上或者自己写的一些比较好的框架包、库函数等,因此一般在项目中需要的依赖分为本地依赖和远程依赖,同时根据依赖的包的格式和内容又可以划分为.aar、.jar、module本地依赖几种方式。下面就这些分别进行介绍。

Jar包:jar包里面内容一般是java文件,一般用于库函数打包,对一些功能性模块进行封装,然而当接入一些资源性内容时,则引用比较困难。
Aar包:aar包相对于jar包来说,aar除了java类和方法之外,还可以包含android资源和一个清单文件,可以捆绑布局和可绘制对象等共享资源。
module:module和aar类似,也是可以包含资源文件,并且可以生成aar包,用于android项目的依赖注入,而且module也可以作为一个单独的模块独立运行,类似一个project。

从上面介绍可以大致了解项目依赖的内容和各个依赖模块的作用,下面结合具体依赖构建详细介绍依赖中的文件内容。

依赖构建

在此,主要介绍结合Android studio构建项目中可能所需要的依赖jar包、aar包和module。

构建JAR包

1.新建一个工程
2.点击File—>New—>New Module,点击Java Library,即可创建jar包。
这里写图片描述
3.当新建完Java Library之后,点击build.gradle文件可以发现其采用的plugin为”java”,如图所示:
这里写图片描述
说明在其当做项目依赖时,最终会其路径下build/libs/生成jar文件,结果如下图所示:
这里写图片描述
其中在库中新建一个类Jar_lib__Test类,代码如下:

package com.example;

public class Jar_lib_Test {
    public static String getJarLibTest(){
        return "Jar_lib_Test";
    }
}

4.将该库作为依赖导入到工程中,最后就会生成jar包文件,其具体过程会在依赖导入中说明。

构建Aar包

构建Aar包可以图1中选择module或者Android Library进行构建。
1.首先介绍采用Android Library,查看其build.gradle文件可以发现,其应用plugin 是“com.android.Library”
这里写图片描述
创建完成之后,其目录结构为:
这里写图片描述
分别在string.xml中新加一个字段和新建一个Android_Lib_Test类:

<string name="androidLib">AndroidLibTest</string>
public class Android_Lib_Test {
    public static String getAndroidLibTest(){
        return String.valueOf(R.string.androidLib);
    }
}

最后在依赖导入时,也可以在build/outputs/aar目录下生成aar包(这里默认有两个版本,一个是debug版本,一个是release版本),如图所示:
这里写图片描述
2.创建module也可以产生和Android Library库一样的效果,不过有所区别的是,其build.gradle文件是如下:
这里写图片描述
其plugin默认是“com.android.application”,且含有applicationId,并且其默认会添加一个MainActivity类,因此可以发现module其实默认是一个独立模块,类似一个工程。
3.此外,值得注意的是不管是Android Library还是module,也都是可以生成Jar包的,具体可以参考网址http://blog.csdn.net/qq_33224517/article/details/53199681

依赖导入

依赖导入主要是说明将工程所需要的依赖包或者共享资源怎样导入到项目中。
1.导入本地库的方法有以下两种,一是直接依赖源码,如上述过程中,直接依赖Jar Library、Android Library和Module,采取的步骤是直接在工程的build.gradle文件中的dependencies中使用compile project()命令,如:

compile project(':module_test')
    compile project(':lib_jar')
    compile project(':android_library')

不过需要注意的是在导入module时,需先将其plugin改为“com.android.library”,并且不能有applicationId。
第二种方式就是能够获取各个模块的打包文件,对于Jar文件,可以直接在dependencies中使用compile files()命令,如下:

compile files('../lib_jar/build/libs/lib_jar.jar') //这里使用了相对路径

对于Aar文件,首先需要配置本地仓库,如下:

repositories{
flatDir{
dirs '../android_library/build/outputs/aar','../module_test/build/outputs/aar'
}
}

然后使用如下命令导入aar包:

compile (name: 'android_library-debug', ext: 'aar')
compile name: 'module_test-release', ext: 'aar'

在此需要注意的是,不能将repositories放入到buildscript中,因为在gradle编译过程的依赖可以划分为两部分,一部分是可以认为是编译依赖,即gradle编译过程自身的依赖库,如gradle不同的版本下载等等,另一部分就是项目依赖,即为项目所需要的外部库函数、共享资源等。repositories放在gradle根节点下在就是项目依赖,放入到buildscript中则是编译依赖。具体可参考:http://www.cnblogs.com/qiangxia/p/4826532.html
2.远程导入
这一般需要配置远程仓库,然后直接使用compile 命令即可。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值