AndroidStudio中添加依赖的三个选项,如图: 

  分别为:库依赖(Library dependency)、文件依赖(File dependency)和module依赖(Module dependency)

三种依赖

  • Library dependency

  添加一句话就好了,然后会下载相关文件到本地。如:

dependencies {
compile 'com.android.support:appcompat-v7:23.1.1'
}
  • File dependency 
      把jar文件拷贝到项目的libs文件夹下,然后添加File依赖。如果依赖成功,jar文件是可以展开显示的,若不能展开则为依赖失败。如:
compile files('libs/baidumapapi_base_v3_7_3.jar')
  • 1
  • Module dependency 
      就是Local Library,将Library的相关源文件下到本地,通过AS的improt module操作进行导入,然后添加相关依赖。如:
compile project(':library')
  • 1

区别

  • Library dependency是通过访问网址的形式将依赖库进行添加。
  • File dependency是将依赖库的.jar文件已经下载下来了,通过.jar文件的形式添加依赖。
  • Module dependency通常是在项目中为了实现某个功能,又添加一个module,在项目中添加对此module的依赖

引入so文件

  有两种方法:一种是将so文件放在module的libs目录下,另一种是将so文件放在module—>src—>main—>jniLibs目录下(这两种方式都是若有此目录就不新创建,若无此目录就新创建此目录)

  • 方法一

  在libs目录下放入对应不同CPU架构的so文件,通过在build.gradle的android节点下加入代码:jniLibs.srcDirs = [‘libs’] 来说明so的路径为该libs路径。

sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
  • 方法二

  在 src—>main 目录下创建文件夹 jniLibs (若有就不创建),将so文件复制到这个目录下即可,工程会自动加载src—>main—>jniLibss目录下的so动态库

引入aar文件

  module引入aar文件,将arr包复制到module的libs目录下,然后在build.gradle的根节点下添加下面的代码:

repositories {
flatDir {
dirs 'libs'
}
}

  然后在dependencies节点下添加:

compile(name: 'arr包的名字', ext: 'aar')

  同步完成后即可发现成功引入jar包,arr文件及so文件

AndroidStudio中添加依赖的三种方式以及如何引入so文件和arr文件的更多相关文章

  1. 浅谈Spring解决循环依赖的三种方式

    引言:循环依赖就是N个类中循环嵌套引用,如果在日常开发中我们用new 对象的方式发生这种循环依赖的话程序会在运行时一直循环调用,直至内存溢出报错.下面说一下Spring是如果解决循环依赖的. 第一种: ...

  2. Spring 循环依赖的三种方式(三级缓存解决Set循环依赖问题)

    本篇文章解决以下问题: [1] . Spring循环依赖指的是什么? [2] . Spring能解决哪种情况的循环依赖?不能解决哪种情况? [3] . Spring能解决的循环依赖原理(三级缓存) 一 ...

  3. mysql 中添加索引的三种方法

    原文:http://www.andyqian.com/2016/04/06/database/mysqleindex/ 在mysql中有多种索引,有普通索引,全文索引,唯一索引,多列索引,小伙伴们可以 ...

  4. Struts中的数据处理的三种方式

    Struts中的数据处理的三种方式: public class DataAction extends ActionSupport{ @Override public String execute() ...

  5. JS中事件绑定的三种方式

    以下是搜集的在JS中事件绑定的三种方式.   1. HTML onclick attribute     <button type="button" id="upl ...

  6. JavaScript 中事件绑定的三种方式

    以下是在 JS 中事件绑定的三种方式.   1. HTML onclick attribute     <button type="button" id="uplo ...

  7. PHP中数据类型转换的三种方式

    PHP中数据类型转换的三种方式 PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有: 1.(int).(integer):转换成整形2.(float).(double).(real):转换成 ...

  8. HTML中使用js的三种方式及优缺点介绍

    1.内部js: 在直接在页面的<script></script>标签内写js代码 优点:相对于使用行内js,内部js代码较为集中,与页面结构的实现代码耦合度较低,比较便于维护 ...

  9. Spring依赖注入三种方式详解

    在讲解Spring依赖注入之前的准备工作: 下载包含Spring的工具jar包的压缩包 解压缩下载下来的Spring压缩包文件 解压缩之后我们会看到libs文件夹下有许多jar包,而我们只需要其中的c ...

随机推荐

  1. ubuntu 14.04安装nodejs

    http://stackoverflow.com/questions/32902699/cannot-install-ember-on-ubuntu-1404/33495134

  2. PHP拓展开发

    痛定思痛: 开始了解 PHP 拓展开发,下面这篇文章不错!照着文章讲的,终于实现了! m.php的代码 浏览器访问 m.php 文件!(备注:在linux 命令行中 php -r 'cthulhu() ...

  3. Elasticsearch shield权限管理详解

    Elasticsearch shield权限管理详解 学习了:https://blog.csdn.net/napoay/article/details/52201558 现在(20180424)改名为 ...

  4. 当 外部 input 值的改变,获取 当前 input type="hidden" 的值

    1.如何用jquery获取<input id="test" name="test" type="text"/>中输入的值? 方法 ...

  5. Effective C++ 43,44

    43.明智地使用多继承. 多继承带来了极大的复杂性.最主要的一条就是二义性. 当派生类为多继承时,其多个基类有同名的成员时,就会出现二义性.通常要明白其使用哪个成员的.显式地限制修饰成员不仅非常笨拙, ...

  6. JavaScript你所不知道的困惑(2)

    困惑一: var obj1 = new Object(); var obj2 = obj1; obj1.name = "阳光小强"; alert(obj2.name); //输出结 ...

  7. mysqld与mysqld_safe的区别

    文章1: 直接运行mysqld程序来启动MySQL服务的方法很少见,mysqld_safe脚本会在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它.用mysqld_safe脚本来启动M ...

  8. git常用知识笔记

    学习资料: http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 http://codi ...

  9. 小心APP应用让你成为“透明人”

    随着智能手机和平板电脑的迅猛发展,各式各样的APP在涌入这些移动终端的同一时候.吸费.窃取隐私等恶意程序也随之盛行. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5u ...

  10. Python 中的字节与字节数组

    Python 中的字节与字节数组 - Python - 伯乐在线 http://python.jobbole.com/84839/