aar介绍

我们都知道在java开发中,我们的library都是使用jar这种形式的,使用Eclipse开发的同学对这个应该会非常熟悉。J2EE中开发中的很多框架都是使用jar包的形式导入的,比如SSH等这样的开源框架等等。

在java世界里面,jar包中所包含的一般都是逻辑性的处理,不涉及界面上的一些开发,换句话说就是不包括资源文件。相对于J2EE开发而言,Android开发中有很多资源文件,比如图片,xml布局,style等文件,这些文件没有办法在jar包中进行使用。

现在,Android Studio帮我们解决了这个模块化开发的拦路虎,aar可以看做是一种更加高级的jar,它可以包含资源文件以及我们打包出来的jar文件。

导出aar

aar文件的目录在我们library目录下的output目录下。具体的目录如下:

library\build\outputs\aar

我们可以在这个目录下找到两个aar文件,一般来说,release版本是我们需要的。

导出aar文件的命令比较简单,找到项目所在的位置,对项目进行编译操作,命令如下:

gradlew assemblerelease

在命令行执行了如上的命令之后,在上面提示的目录当中去寻找我们需要的aar文件即可。

配置library

知道了aar文件的作用以及它在的位置,如何生成我们需要的aar文件呢?

首先要注意,导出模块化的library,我们需要将工程设置为library模式,修改library的build.gradle文件信息,

android aar编程,Android Studio模块化编程实践之aar相关推荐

  1. keil c语言模块化编程,keil C模块化编程总结

    昨晚看了下模块化编程的东西,把自己的工程整了整,可惜没成功.今早发神经似的起床敲代码,很快就发现了错误,原来是条件宏定义的头文件名忘改了,汗!!! 整理下模块化编程的要点,感谢以下三位UP主的帖子: ...

  2. 米兔机器人 编程案例_模块化编程 米兔积木机器人颜色传感器

    米兔积木机器人是一款可以用积木拼接搭建外形,用移动终端远程遥控和编程控制的开放式智能电子玩具.自去年年底上市以来,凭借多变的造型以及极强的扩展性深得孩子和家长的喜爱.4月28日首款米兔积木机器人扩展包 ...

  3. C语言模块化编程的例子

    以往写C语言程序都是一个文件里面写个几十.几百行,在练算法的时候还可以,现在搞开发需要模块化编程,所谓模块化编程,就是指一个程序包含多个源文件(.c 文件和 .h 文件),每个 .c 文件可以被称为一 ...

  4. 数码管动态显示及模块化编程

    实现了数码管的静态显示之后我们接下来进行数码管的动态显示,这里的动态显示并不是指把静态显示的数字变成随时间改变的状态,而是在数码管不同位上显示不同的数字,而为什么称之为动态显示呢,这是由数码管的结构和 ...

  5. 蓝桥杯单片机按键模块化编程

    按键 一.按键电路 1.矩阵按键 将J5的KBD接在一起,使用矩阵按键.就是1.2接在一起. 现在8个I/O口控制16个按键.P34,P35,P42,P44控制四列,单片机通过这四个I/O输出高低电平 ...

  6. 单片机零基础入门(9-1)实战:模块化编程(模块化两个案例含源码--以及无法显示头文件(.h)的解决方案)

    单片机零基础入门(9-1)实战:模块化编程-(以及无法显示头文件(.h)的解决方案) 本文作为单片机零基础入门(8-5)模块化编程的拓展和补充,比前面的单片机零基础入门(8-5)模块化编程更为详细. ...

  7. python一入深似海-模块化编程-钢铁侠战甲

    文章目录 模块化编程--钢铁侠战甲 函数 函数的作用? 函数的定义和使用 函数的特征及注意事项 函数的参数 函数参数大类分为形参和实参: 函数返回值 return返回值的特征 变量作用域 模块化编程- ...

  8. Android 模块化编程之引用本地的aar

    转: http://www.stormzhang.com/android/2015/03/01/android-reference-local-aar/ 随着项目越来越多,代码的复用就变得异常重要,这 ...

  9. Android Studio kotlin编程实现图片滑动浏览 stepbystep

    1 基本介绍 参照 kotlin官网:使用 RecyclerView 显示可滚动列表的 案例实现 功能:采用RecyclerView 空间实现图片和文字的滚动浏览. 在下图显示的序列中,可以看到一个填 ...

最新文章

  1. iOS使用自签名证书实现HTTPS请求
  2. 面向人工智能的计算机体系结构
  3. 安卓开发面试书籍,全世界都在问Android开发凉了吗?建议收藏
  4. 使用TortoiseGit(小乌龟)操作分支的创建
  5. 【小程序】【Tips】【前端】交互【后端】从Json对象数组里面获取数据的方法 - PHP - JS 的原生方法
  6. 解决css中存在的几种兼容性问题
  7. 数据包络分析方法与maxdea软件_SEM常用的4种数据分析方法,让你的优化工作事半功倍!...
  8. 发那科机器人编程软件fanuc roboguide授权补丁_发那科Robot | Line Tracking功能
  9. 数字电子技术基础(四):门电路(TTL)
  10. ZOJ3332 Strange Country II java
  11. CSS过滤器(CSS filters)
  12. python金融衍生品_Python 金融数据分析:单一风险衍生品估值丨数析学院
  13. 教我简单学计算机初步,零基础教你用电脑:常用简单操作介绍
  14. 【华为机试真题 Python实现】统计射击比赛成绩
  15. 【论文笔记】Reaching agreement in the presence of faults (EIG)
  16. 并行查询的执行计划解读
  17. bcm4322linux驱动下载,苹果MAC BOOK PRO 5.5 2009年中 安装fedora26——broadcom BCM4322 无线驱动在fedora上的安装...
  18. 应届生小白转行新媒体运营,3个月里我都经历了什么?
  19. 修改VirtualBox上的macOS屏幕分辨率1920*1080,virtualbox5.2版本方法
  20. 自动将*.md文档中的图片上传到Gitee(Typora+PicGo+Gitee)

热门文章

  1. Python图像处理:使用TensorFlow或Keras进行图像分类
  2. ER图连接线上加个圆圈什么意思_没有声母的音节叫什么?零声母音节
  3. echarts人员关系网络图,张三朋友的朋友扩散图
  4. anaconda中创建虚拟环境
  5. The supplied data appears to be in the Office 2007+ XML
  6. 华为OD岗位:C/C++,java, python , 软件测试,后端开发,JS,数据开发都有
  7. Jexus-5.6.3使用详解
  8. html 获取电脑ip地址,笔记本自动获取ip地址怎么设置?
  9. 浏览器趋势2014年6月:Chrome的崛起仍在继续
  10. mysql 基于一张表更新_MySQL更新表基于另一个表的值