AndroidStudio中添加依赖的三种方式以及如何引入so文件和arr文件
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文件的更多相关文章
- 浅谈Spring解决循环依赖的三种方式
引言:循环依赖就是N个类中循环嵌套引用,如果在日常开发中我们用new 对象的方式发生这种循环依赖的话程序会在运行时一直循环调用,直至内存溢出报错.下面说一下Spring是如果解决循环依赖的. 第一种: ...
- Spring 循环依赖的三种方式(三级缓存解决Set循环依赖问题)
本篇文章解决以下问题: [1] . Spring循环依赖指的是什么? [2] . Spring能解决哪种情况的循环依赖?不能解决哪种情况? [3] . Spring能解决的循环依赖原理(三级缓存) 一 ...
- mysql 中添加索引的三种方法
原文:http://www.andyqian.com/2016/04/06/database/mysqleindex/ 在mysql中有多种索引,有普通索引,全文索引,唯一索引,多列索引,小伙伴们可以 ...
- Struts中的数据处理的三种方式
Struts中的数据处理的三种方式: public class DataAction extends ActionSupport{ @Override public String execute() ...
- JS中事件绑定的三种方式
以下是搜集的在JS中事件绑定的三种方式. 1. HTML onclick attribute <button type="button" id="upl ...
- JavaScript 中事件绑定的三种方式
以下是在 JS 中事件绑定的三种方式. 1. HTML onclick attribute <button type="button" id="uplo ...
- PHP中数据类型转换的三种方式
PHP中数据类型转换的三种方式 PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有: 1.(int).(integer):转换成整形2.(float).(double).(real):转换成 ...
- HTML中使用js的三种方式及优缺点介绍
1.内部js: 在直接在页面的<script></script>标签内写js代码 优点:相对于使用行内js,内部js代码较为集中,与页面结构的实现代码耦合度较低,比较便于维护 ...
- Spring依赖注入三种方式详解
在讲解Spring依赖注入之前的准备工作: 下载包含Spring的工具jar包的压缩包 解压缩下载下来的Spring压缩包文件 解压缩之后我们会看到libs文件夹下有许多jar包,而我们只需要其中的c ...
随机推荐
- OnlineJudge测试数据生成模板
int类型数据生成一(正数最多4位): #include <bits/stdc++.h> using namespace std; int main() { freopen("t ...
- [cocos2d-x]怎样降低cocos2d-x游戏的耗电量?
Cocos2d-x游戏的耗电量一直是个让人头疼的问题,一个简单的三消游戏,玩一会手机就热得发烫,更郁闷的是电池消耗非常快.基本上两个小时就能够把电池耗光. 近期又看到一个帖子.有个老外用cocos2d ...
- 通达OA 一些工作流调整后带来的后果及应对措施
近期单位有个工作流须要改动,原因是最早设计时控件的字段设计不规范,控件直接使用了人员的名字来命名了.这不使用手机訪问时就出问题了,名字会直接显示出来,如今就须要进行调整. 调整初步有两个方案: 一是全 ...
- androidproject有红色叹号的解决方式
首先,查看SDK版本号,一般有两处.第一处是project.properties文件里的target=android-?改动成自己工程相应的SDK版本号.第二处是manifest文件里, androi ...
- CycleViewPager
https://github.com/zhaozhentao/CycleViewPager
- Shell hook
[目的]实现 ll -as +hook+ clear Shell脚本及钩子 - CSDN博客 https://blog.csdn.net/shengzhu1/article/details ...
- cat /proc/cpuinfo | awk -F: '/name/{print $2}' | uniq -c
cat /proc/cpuinfo | awk -F: '/name/{print $2}' | uniq -c
- Maven group, artifact or version defined in the pom file do not match the file ...
在把library上传到bintray空间的时候报以下错误 Could not upload to 'https://api.bintray.com/content/ping/maven/comm-a ...
- poj 3017 Cut the Sequence(单调队列优化DP)
Cut the Sequence \(solution:\) 这道题出的真的很好,奈何数据水啊! 这道题当时看得一脸懵逼,说二分也不像二分,说贪心也不像贪心,说搜索吧这题数据范围怎么这么大?而且这题看 ...
- css 中的伪类选择器before 与after
.cf:after,.cf:before {content: " "; display: table;} .cf:after {clear: both;} :before是因为ta ...