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. BUPT 2012复试机考 1T

    题目描述 大家都知道,数据在计算机里中存储是以二进制的形式存储的. 有一天,小明学了C语言之后,他想知道一个类型为unsigned int 类型的数字,存储在计算机中的二进制串是什么样子的. 你能帮帮 ...

  2. 深入研究Clang(五) Clang Lexer代码阅读笔记之Lexer

    作者:史宁宁(snsn1984) Clang的Lexer(词法分析器)的源代码的主要位置例如以下: clang/lib/Lex    这里是基本的Lexer的代码: clang/include/cla ...

  3. javaweb 中的过滤器 包装器

    过滤器要做的事情: 请求过滤器:完毕安全检查,又一次格式化请求首部或体.建立请求审计或日志 响应过滤器:     压缩响应流,追加或改动响应流创建一个全然不同的响应. 过滤器和servlet三个相似地 ...

  4. Ubuntu16.04安装openjdk-7-jdk

    ubuntu14.04 升级16.04后会默认将jdk1.7删除,因此需要重新安装. Ubuntu16.04 安装Oracle JDK 和 Open jdk 默认JDK 安装比较轻松,但根据项目调整 ...

  5. AngularJs概述

  6. 【数据结构】二叉树(c++)

    头文件: #include <iostream> using namespace std; template<class Type> class Bintree; //结点类 ...

  7. [LeetCode] 038. Count and Say (Easy) (C++/Python)

    索引:[LeetCode] Leetcode 题解索引 (C++/Java/Python/Sql) Github: https://github.com/illuz/leetcode 038. Cou ...

  8. DSL 如何工作

    DSL 如何工作 http://computer.howstuffworks.com/dsl.htm 当你连接到因特网时,你可能是通过一个调制解调器 (modem),或办公室的局域网,或者一个电缆调制 ...

  9. linux 标准i2c接口(一)

    一:I2C设备操作方式: 1.  应用程序操作法:i2c的设备的驱动可以直接利用linux内核提供的i2c-dev.c文件提供的ioctl函数接口在应用层实现对i2c设备的读写,但是在应用层使用ioc ...

  10. device not managed by NetworkManager

    Bringing up interface eth0:Error:Connection activation failed:Device not managed by  NetworkManager ...