原文链接: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项中添加依赖:


  1. repositories {
  2. flatDir {
  3. dirs 'libs'
  4. }
  5. }

然后在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引入第三方库文件的更多相关文章

  1. 【Android 应用开发】 Android 各种版本简介 ( Support 支持库版本 | Android Studio 版本 | Gradle 版本 | jcenter 库版本 )

    初学者遇到 Android Studio, 导入工程后, 会出现各种奇葩错误, 如果管理好各个插件, gradle, SDK, SDK Tools, 各种官方依赖库 的版本, 会将错误大大的减少; 这 ...

  2. Android Studio使用Gradle引入包

    方法一 jar包直接复制到lib中右击add as library,等自动构建完成后,打开build.gradle会发现dependencies中多了一个compile file('libs/***. ...

  3. iOS-启动项目(二)引入第三方库

    摘要 项目中很大几率会用到第三方库,通过 Pod 方式引入第三方库是效率很高的方式,这里介绍一个新的项目搭建 Pod 方式的环境,方便项目中引入第三方库文件. 刚创建的项目中如果需要用到第三方库,常用 ...

  4. Android studio中正确引入so文件的方法

    相信很多朋友在使用Android studio开发中,遇到过如何引入第三方so文件的问题,然而第三方官方仅仅给出了ADT环境下的集成方式. Android studio中默认使用的是gradle编译方 ...

  5. Android Studio :Android Studio 与 Gradle 深入【二】

    转载:http://www.apkbus.com/forum.php?mod=viewthread&tid=255063&extra=page%3D2%26filter%3Dautho ...

  6. 快速掌握 Android Studio 中 Gradle 的使用方法

    快速掌握 Android Studio 中 Gradle 的使用方法 Gradle是可以用于Android开发的新一代的 Build System, 也是 Android Studio默认的build ...

  7. Android studio中找不到so文件的问题:java.lang.UnsatisfiedLinkError

    解决Android studio中找不到so文件的问题:java.lang.UnsatisfiedLinkError 表示我们不编译jni代码,直接从libs里面复制so库 文件路径:app\buil ...

  8. Android studio的gradle

    1. gradle的基本概念 gradle构建* Android Studio使用`Gradle`构建工具,Eclipse的ADT插件使用的是`Ant`构建工具* 构建:生成app的过程,执行一些的命 ...

  9. Android studio下gradle Robolectric单元测试配置

    android studio下gradle Robolectric单元测试配置 1.Robolectric Robolectric是一个基于junit之上的单元测试框架.它并不依赖于Android提供 ...

随机推荐

  1. [Django框架之路由层匹配、有名 无名分组、反向解析、路由分发、名称空间、伪静态、本地虚拟环境、django版本区别]

    [Django框架之路由层匹配.有名 无名分组.反向解析.路由分发.名称空间.伪静态.本地虚拟环境.django版本区别] 路由层 路由即请求地址与视图函数的映射关系,如果把网站比喻成一本书,那路由就 ...

  2. body元素的常用属性

    一.bgcolor属性 a.bgcolor 设置文档的背景颜色. b.用法 <body bgcolor="red"> body的常用属性! </body> ...

  3. 【转载】spice 有截图

    https://segmentfault.com/a/1190000011991047

  4. deep

    deepinv20已经解决 sudo apt update && sudo apt upgrade

  5. SSH自动断开连接的原因-20200323

    SSH自动断开连接的原因   方法一: 用putty/SecureCRT连续3分钟左右没有输入, 就自动断开, 然后必须重新登陆, 很麻烦. 在网上查了很多资料, 发现原因有多种, 环境变量TMOUT ...

  6. Pulsar 下一代消息平台

    引言 提起成熟的消息队列或消息引擎,毋庸置疑,大多数人的第一反应一定是 Kafka. Kafka 能够彻底满足海量数据场景下高吞吐.高并发需求,在短短几年内,已经被阿里.腾讯.百度.字节跳动.Netf ...

  7. 063.Python前端Django分页器

    Django的分页器 1 前期准备 创建一个数据库,用于存放数据 mysql> create database pager default charset=utf8; mysql> use ...

  8. python基础之变量类型和数据运算

    一.变量的类型 程序中,为了更充分的利用内存空间以及更有效率的管理内存,变量是有不同的类型的. 怎样知道一个变量的类型呢? 在python中,只要定义了一个变量,而且它有数据,那么它的类型就已经确定了 ...

  9. make clean 和 make distclean区别-(转自秋水Leo)

    make clean仅仅是清除之前编译的可执行文件及配置文件. 而make distclean要清除所有生成的文件. Makefile 在符合GNU Makefiel惯例的Makefile中,包含了一 ...

  10. 女朋友看了也懂的Kafka(上篇)

    @ 目录 前言:为什么需要Kafka 1.初识kafka 1.1 消息队列的好处: 1.2 消息队列的两种模式 没有消息队列我们怎么做? 传统MQ怎么做? 这时候,Kafka就"闪亮登场&q ...