原文链接: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. 交叉编译参数--build、host和target的区别

    build.host和target 在交叉编译中比较 常见 的一些参数就是build.host和target了,正确的理解这三者的含义对于交叉编译是非常重要的,下面就此进行解释 --build=编译该 ...

  2. CSS3 变形

    目录 Transform Transform与坐标系统 transform-origin transform-style 二维旋转 旋转 rotate 平移 translate translateX ...

  3. [bug] python3 pip 安装 MarkupSafe==1.0 失败:ImportError:cannot import name 'Feature' from 'setpools'

    解决 先升级pip到最新版本 python -m pip install --upgrade pip 再升级setuptools pip install --upgrade pip setuptool ...

  4. [Qt] 事件机制(三)

    在主窗口Widget中增加几个小功能 1.点击左键,在左上角label中显示"haha",点击右键,显示"lala" 在widget.h中添加: 1 #incl ...

  5. ]# dmesg | grep ATAcentos下查看网卡,主板,CPU,显卡,硬盘型号等硬件信息

    centos下查看网卡,主板,CPU,显卡,硬盘型号等硬件信息 osc_4o5tc4xq 2019/10/11 15:03 阅读数 253 centos下查看网卡,主板,CPU,显卡,硬盘型号等硬件信 ...

  6. python从hello world开始(3)

    """# !usr/bin/env python# -*- coding:utf-8 _*-""""""@Au ...

  7. 精确报告Linux内存使用情况实用脚本:ps_mem

    精确报告Linux内存使用情况实用脚本:ps_mem 2019-09-06 12:45 ps_mem内存工具 ps_mem 是一个可以帮助我们精确获取 Linux 中各个程序核心内存使用情况的简单 p ...

  8. zabbix监控之用户及用户组

    一.概述 Zabbix 中的所有用户都通过 Web 前端去访问 Zabbix 应用程序.并为每个用户分配唯一的登陆名和密码. 所有用户的密码都被加密并储存于 Zabbix 数据库中.用户不能使用其用户 ...

  9. Scala 关键字

    Java关键字 Java 一共有 50 个关键字(keywords),其中有 2 个是保留字,目前还不曾用到:goto 和 const.true.false 和 null 看起来很像关键字,但实际上只 ...

  10. Lua中的元表(metatable)、元方法(metamethod)详解

    在第一次看见这两样东西的时候,可能会觉得它很深奥,但其实很好理解,虽然实际上它可能真的很深奥.(小若:停!滚粗.) 1.知道为什么1 + 1 = 2吗? 为什么在Lua中,1+1会等于2呢?(小若:难 ...