Android Studio使用Gradle引入第三方库文件
原文链接:https://blog.csdn.net/qiutiandepaomo/article/details/81538937
使用AndroidStudio开发Android应用的时候,会经常需要借助Gradle引入各式各样的第三方库文件,帮助我们更好的开发App,常用的引入方式有:Jar包文件、aar文件、Library库文件、so文件、远程jcenter、maven仓库文件。这几种引入方式各有利弊,对应的gradle配置也有所不同。
一、jar文件
将jar文件复制到项目的app module目录下的lib文件夹下,然后打开app module目录下的build.gradle文件,在dependencies依赖项中添加配置命令,有两种配置方式:
1、一次性引入libs目录下所有的jar文件
implementation fileTree(include: ['*.jar'], dir: 'libs')
2、单个逐一引入jar文件
implementation files('libs/core-3.3.0.jar')
上边介绍的只是针对将jar包导入的工程里面的情况,如果调用的是远程服务器的jar包,只需要设置导入的jar包的地址和版本即可。格式为implementation 'name:version':
implementation "com.jakewharton:butterknife:8.8.1"
二、aar文件
aar文件其实也是压缩文件,相比jar文件,它能够带有res等资源文件,aar文件的引入方式有两种:
1、Module形式引入
选择File菜单,或者打开Project Structure界面,添加新的Module(New Module...),选择import .JAR/.AAR Package,选择目标aar文件导入,导入之后,在项目根目录下会自动生成一个新的文件夹放置aar文件及其配置文件。如:
然后打开app module目录下的build.gradle配置文件,在dependencies依赖项中添加配置:
implementation project(':ace-release')
需要注意的是:这种引入方式无法查看aar文件中的代码和资源等文件。
2、libs目录中引入
将aar文件复制到app module目录的libs文件夹中,然后打开app module目录下的build.gradle配置文件,在android项中添加依赖:
-
repositories {
-
flatDir {
-
dirs 'libs'
-
}
-
}
然后在dependencies一栏中添加:
implementation(name:'ace-release',ext: 'aar')
对应完整的app module目录下的build.gradle配置文件是:
上边两种方式也是针对于aar包放到工程中的情况,对于调用远程服务器端的aar包,同远程jar包。
三、Library库文件
将第三方Library库文件复制到项目的根目录下,或者通过File-New-import Module...方式将第三方Library库文件引入到项目的根目录下,打开项目根目录下的settings.gradle文件,添加配置命令,如:
include ':app', ':zbarlibary'
然后打开app module目录下的build.gradle,添加配置命令,如:
implementation project(':zbarlibary')
推荐在项目根目录下心间一个文件夹,如extras文件夹,将所有的Library库文件都复制到该文件下,方便统一浏览管理,这样上面两步对应的配置命令将变成:
include ':app', ':extras:zbarlibary'
implementation project(':extras:zbarlibary')
四、so文件
新版gradle实现了自动打包编译so文件的功能,并且为so文件指定了默认的目录app/src/main/jniLibs,默认的是没有这个文件夹的,需要我们自己新建一个jniLibs文件夹,并将so文件复制到该文件夹下,编译运行即可。
五、jcenter、maven仓库文件
在项目根目录的build.gradle文件中添加仓库,如:
然后在各个Module的build.gradle配置文件的dependencies项中添加依赖,如:
Android Studio使用Gradle引入第三方库文件的更多相关文章
- 【Android 应用开发】 Android 各种版本简介 ( Support 支持库版本 | Android Studio 版本 | Gradle 版本 | jcenter 库版本 )
初学者遇到 Android Studio, 导入工程后, 会出现各种奇葩错误, 如果管理好各个插件, gradle, SDK, SDK Tools, 各种官方依赖库 的版本, 会将错误大大的减少; 这 ...
- Android Studio使用Gradle引入包
方法一 jar包直接复制到lib中右击add as library,等自动构建完成后,打开build.gradle会发现dependencies中多了一个compile file('libs/***. ...
- iOS-启动项目(二)引入第三方库
摘要 项目中很大几率会用到第三方库,通过 Pod 方式引入第三方库是效率很高的方式,这里介绍一个新的项目搭建 Pod 方式的环境,方便项目中引入第三方库文件. 刚创建的项目中如果需要用到第三方库,常用 ...
- Android studio中正确引入so文件的方法
相信很多朋友在使用Android studio开发中,遇到过如何引入第三方so文件的问题,然而第三方官方仅仅给出了ADT环境下的集成方式. Android studio中默认使用的是gradle编译方 ...
- Android Studio :Android Studio 与 Gradle 深入【二】
转载:http://www.apkbus.com/forum.php?mod=viewthread&tid=255063&extra=page%3D2%26filter%3Dautho ...
- 快速掌握 Android Studio 中 Gradle 的使用方法
快速掌握 Android Studio 中 Gradle 的使用方法 Gradle是可以用于Android开发的新一代的 Build System, 也是 Android Studio默认的build ...
- Android studio中找不到so文件的问题:java.lang.UnsatisfiedLinkError
解决Android studio中找不到so文件的问题:java.lang.UnsatisfiedLinkError 表示我们不编译jni代码,直接从libs里面复制so库 文件路径:app\buil ...
- Android studio的gradle
1. gradle的基本概念 gradle构建* Android Studio使用`Gradle`构建工具,Eclipse的ADT插件使用的是`Ant`构建工具* 构建:生成app的过程,执行一些的命 ...
- Android studio下gradle Robolectric单元测试配置
android studio下gradle Robolectric单元测试配置 1.Robolectric Robolectric是一个基于junit之上的单元测试框架.它并不依赖于Android提供 ...
随机推荐
- CSS变量和浏览器前缀
一.CSS变量 CSS变量是CSS的新特性,大多数浏览器都实现了这个功能,使用CSS变量有利代码复用,而且当我们修改变量值时,所有引用该变量的属性都会发生改变. 定义变量后可以有两种使用方法,第一种时 ...
- [算法] O(n^2)排序算法的效率比较
选择.插入排序 main.cpp 1 #include <iostream> 3 #include "SortTestHelper.h" 4 5 using names ...
- Java 运行 Jar 包中java -cp 与 java jar 的区别
java -cp java -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库和jar包,需要全路径到jar包,多个jar包之间连接符:window上分号"; ...
- 【JDK命令行 一】手动编译Java源码与执行字节码命令合集(含外部依赖引用)
写作目标 记录常见的使用javac手动编译Java源码和java手动执行字节码的命令,一方面用于应对 Maven 和 Gradle 暂时无法使用的情况,临时生成class文件(使用自己的jar包):另 ...
- mysql数据库-备份与还原实操
目录 备份工具 1 基于 LVM 的快照备份(几乎热备) 2 数据库冷备份和还原 3 mysqldump备份工具 3.1 实战备份策略 3.1.1 全备份 3.1.2 分库分表备份 3.2 mysql ...
- ELK搭建-windows
一.E 二.L 启动 三.K 四.filebeat 五.配置文件使用 1.logstash-sample.conf # Sample Logstash configuration for creati ...
- Go语言协程并发---等待组sync.WaitGroup
package main import ( "fmt" "sync" "time" ) /*等待组API介绍*/ func main071( ...
- TensorFlow csv读取文件数据(代码实现)
TensorFlow csv读取文件数据(代码实现) 大多数人了解 Pandas 及其在处理大数据文件方面的实用性.TensorFlow 提供了读取这种文件的方法. 前面章节中,介绍了如何在 Tens ...
- CPU,GPU,GPGPU
CPU,GPU,GPGPU 1.基本概念 1.1 GPU 图形处理器(bai英语:Graphics Processing Unit,缩写:GPU),又称显示核心.视觉du处理器.zhi显示芯片,是一 ...
- Docker App应用
Docker App应用 这是一个实验特性. 实验性功能提供了对未来产品功能的早期访问.这些特性仅用于测试和反馈,因为它们可能在没有警告的情况下在不同版本之间更改,或者可以从将来的版本中完全删除.在生 ...