原文链接: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. jquery的入口函数 和 js和jq的转化

    先引入jq包 然后<script type="text/javascript"> $(function{ 获取标签:$('#box2') jq转为js:$('#box2 ...

  2. 深入探索Android热修复技术原理读书笔记 —— so库热修复技术

    热修复系列文章: 深入探索Android热修复技术原理读书笔记 -- 热修复技术介绍 深入探索Android热修复技术原理读书笔记 -- 代码热修复技术 深入探索Android热修复技术原理读书笔记 ...

  3. 【BIGDATA】ElasticSearch HEAD插件的GET请求的坑

    今使用HEAD插件,发现复杂查询功能下,使用GET请求有坑. 查询语句如下: GET kk/_search { "query": { "match": { &q ...

  4. docker 日志位置

    日志分两类,一类是 Docker 引擎日志:另一类是 容器日志. Docker 引擎日志 Docker 引擎日志 一般是交给了 Upstart(Ubuntu 14.04) 或者 systemd (Ce ...

  5. Linux中的防火墙

    firewalld 一.防火墙安全概述 firewalld支持命令行也支持GUI设置,相对于iptables,firewalld配置更加的方便.在底层的命令都是iptables, firewalld ...

  6. xpath定位中starts-with、contains、text()的用法

    starts-with 顾名思义,匹配一个属性开始位置的关键字 contains 匹配一个属性值中包含的字符串 text() 匹配的是显示文本信息,此处也可以用来做定位用 eg //input[sta ...

  7. shell初学之PHP

    初次接触脚本,写了一个通过Apache实现PHP动态网站的脚本: #!/bin/bash yum -y install php rm -rf /etc/httpd/conf.d/welcome.con ...

  8. mybatis 同时使用 XML 和注解

    引言 学过 MyBatis 框架的童靴都知道, MyBatis 支持 XML 和注解两种方式配置,如下: 使用 XML 方式配置 只写明 XML 的 resource 路径(或者URL路径) < ...

  9. App元素定位三种方法

    来自博客: http://testingpai.com/article/1595507262082 以下方法操作前必须确保有手机设备连入电脑,检测是否有手机连入命令 adb devices 第一种:A ...

  10. lms框架应用服务接口和服务条目详解

    目录 应用接口的定义 服务路由特性 服务条目 根据服务条目生成webAPI 服务条目的治理特性 缓存拦截 服务条目的例子 应用接口的实现 开源地址与文档 应用接口的定义 服务应用接口是微服务定义web ...