热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

AndroidStudio如何使用aar详解

本文主要介绍AndroidStudio如何使用aar的资料,这里整理了详细的资料,帮助大家学习理解此部分的知识,有需要的小伙伴可以参考下

一. 简介

aar 是一个类似于 jar 的文件格式。但是他们之间是有区别的。

jar :仅仅包含class和清单文件,没有资源文件。

aar :包含了class文件和资源文件。说白了就是Android的专属“jar”

将代码打包成aar文件,可以在一定程度上加快 AndroidStudio 的速度。

尤其是将 Module 打包成 aar 文件,提升的效果很显著。

二. 如何得到aar

1. Module的aar文件

将一个AndroidStudio项目中的 Module 打包成 aar 其实很简单。

在每一个 Module 的目录下面都会有这样一个文件夹: build\outputs\aar 。

这个文件夹下面就放着这个 Module 对应的 aar 文件。

一般情况下会有两个 aar 文件,一个 debug 版本,一个 release 版本。

我们选择 release 的就ok。

AAR文件图示

注意:

新建的Module是没有这个文件夹的。这时,你可以使用 两种方法 生成这个文件夹

将整个项目运行一遍,这个文件夹会自动生成
执行命令 ./gradlew assembleRelease 也可以生成这个文件夹

2. 远程仓库的aar

在项目里面经常会引用一下远程仓库的依赖库。

这时,我们也可以将它以 aar 的形式引入到项目中。

这个依赖库的aar其实也很好找。

当你配置好一个依赖库以后,点击 Sync Now 。

AndroidStudio会自动下载这个库到C盘(windows)。你找到这个文件就可以了。

这里我使用的是 Everything 进行搜索,很方便就找到这个库的下载文件夹。其他操作系统就自行搜索吧,总之找见这个项目的下载文件夹就ok。

这个下载文件夹中包含了这个项目所需要的所有东西:包括 aar 、 jar 等文件。

后面会以一个例子详细讲解这个过程

注:

Everything是一个搜索软件,可以瞬间搜索全盘。

是一个非常实用的软件。但是很可惜只有windows版本。

官网地址: https://www.voidtools.com/

三. 如何使用aar

想要使用aar文件,需要经过以下几步:

1. 在app的build.gradle中加入以下配置

repositories { 
 flatDir { 
 dirs 'libs' // aar目录
 }
}

2. 将aar文件拷贝到app/libs目录下

3. 在dependencies中加入aar引用

compile(name: 'zbar-release', ext: 'aar')

四. LeakCanary项目示例

因为Module的例子比较简单,所以选择远程代码库作为示例。

这里使用一个经常使用的内存检测项目 LeakCanary 来做一个示例。

我们通常使用依赖来使用这个库:

debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3'

当 Sync Now 完成后,我们可以在C盘(windows)找见这个项目文件夹。

该项目文件夹截图如下:

LeakCanary项目示例图

这个文件夹下面就有我们需要的两个依赖库: leakcanary-android 和 leakcanary-android-no-op
点开 leakcanary-android文件夹 ,目录结构如下( 1.3是对应的版本号 ):

leakcanary-android文件夹

打开最里层的文件夹,你会发现文件的类型主要有三种:

  1. jar文件 :有的项目是以jar文件形式提供
  2. aar文件 :有的项目是以aar文件形式提供
  3. pom文件 : (Project Object Model),实际上就是个xml,是对一些必要信息的说明。这里我们只关心一个节点信息: :声明依赖列表

我们用文本编辑器打开 leakcanary-android文件夹 下面的pom文件:

...

 
 
 com.squareup.leakcanary
 
 leakcanary-analyzer
 
 1.3
 compile
 

...

想更多了解pom文件, 点击这里

当我们打开 leakcanary-android 的pom文件,

我们发现 leakcanary-android 依赖于 leakcanary-analyzer 的1.3版本。

同样的的我们打开 leakcanary-analyzer 的pom文件,

发现 leakcanary-analyzer 依赖 leakcanary-watcher 和 haha 。

leakcanary-watcher 和 haha 则没有依赖任何东西。

这样整个leakcanary-android导入本地的东西就是四个:

  1. leakcanary-android
  2. leakcanary-analyzer
  3. leakcanary-watcher
  4. haha

同样的方式去一层一层解析 leakcanary-android-no-op ,将所有需要的文件都导入到AndroidStudio中。这样整个 LeakCanary 就被我们真正实现本地化了。

两种结果对比如下:

debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3'

debugCompile(name: 'leakcanary-android-1.3', ext: 'aar')
compile files('libs/leakcanary-analyzer-1.3.jar')
compile files('libs/leakcanary-watcher-1.3.jar')
compile files('libs/haha-1.1.jar')
releaseCompile(name: 'leakcanary-android-no-op-1.3', ext: 'aar')
这样就将整个LeakCanary项目完全转换成了本地的依赖。

http://www.jianshu.com/p/59efa895589e

 

 

 

 

 


推荐阅读
  • QUIC协议:快速UDP互联网连接
    QUIC(Quick UDP Internet Connections)是谷歌开发的一种旨在提高网络性能和安全性的传输层协议。它基于UDP,并结合了TLS级别的安全性,提供了更高效、更可靠的互联网通信方式。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 如何在WPS Office for Mac中调整Word文档的文字排列方向
    本文将详细介绍如何使用最新版WPS Office for Mac调整Word文档中的文字排列方向。通过这些步骤,用户可以轻松更改文本的水平或垂直排列方式,以满足不同的排版需求。 ... [详细]
  • Android 九宫格布局详解及实现:人人网应用示例
    本文深入探讨了人人网Android应用中独特的九宫格布局设计,解析其背后的GridView实现原理,并提供详细的代码示例。这种布局方式不仅美观大方,而且在现代Android应用中较为少见,值得开发者借鉴。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 介绍一个提供正版Windows软件下载的权威网站,确保用户能够安全合法地获取所需软件。 ... [详细]
  • 解决Linux系统中pygraphviz安装问题
    本文探讨了在Linux环境下安装pygraphviz时遇到的常见问题,并提供了详细的解决方案和最佳实践。 ... [详细]
  • Windows 系统下 MySQL 8.0.11 的安装与配置
    本文详细介绍了在 Windows 操作系统中安装和配置 MySQL 8.0.11 的步骤,包括环境准备、安装过程以及后续配置,帮助用户顺利完成数据库的部署。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 在Windows系统上安装VMware Workstation 2022的详细步骤
    本文将详细介绍如何在Windows系统上安装VMware Workstation 2022。包括从官方网站下载软件、选择合适的版本以及安装过程中的关键步骤。此外,还将提供一些激活密钥供参考。 ... [详细]
  • 本文介绍如何通过注册表编辑器自定义和优化Windows文件右键菜单,包括删除不需要的菜单项、添加绿色版或非安装版软件以及将特定应用程序(如Sublime Text)添加到右键菜单中。 ... [详细]
author-avatar
谁能吿诉我
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有