2019独角兽企业重金招聘Python工程师标准>>>

在比较大的 Android 项目的开发中,我们经常会遇到工程、jar 包等等之间相互引用的方式。一般我们通过在 gradle 文件中配置依赖来解决,比如:

Gradle 的一些基本依赖配置方式如下

compile fileTree(dir: "xxx', include: ['*.jar', "*.xxx"]):将某个目录下所有符合扩展名的文件作为依赖; compile 'com.xx.xx:ProjectName:Version':配置Maven` 库作为依赖;在 Maven 库中心 可以搜索自己想用的库进行依赖; compile project(':AnotherModule'):配置另一个 Module 作为本 Module 的依赖,被依赖的 Module 必须被导入到当前工程中; compile files('xxx.jar'):配置某个 jar 包作为依赖。

看起来不错,基本通用的配置都已经存在了。一般对于中等小型的工程,这种开发方式完全没有问题。但是有时候 A 和 B 两个工程,想同时引用另一个公共的 Module C,而这个 Module 可能是一个比较复杂的 Android Module,可能包含了一些主题、UI 、资源文件等等,这时候,如果用 Module 依赖的方式来配置,不免有些困难,因为 A 和 B 都要导入 C,而且要随时关注 C 的更改。

好在 Android Studio 提供了 aar 库的打包方式,我们可以把 C 作为 library 进行打包,输出 aar 文件,然后在 A 和 B 中,配置 aar 库依赖,就可以解决。

2、aar 文件简介

要输出 aar 文件,必须将 Module 配置为 library,在 gradle 文件中如下:

输出 aar : apply plugin: 'com.android.library'; 输出 apk :apply plugin: 'com.android.application'。

将 Module 配置为 library 后,构建输出一个 aar 文件,根据渠道和 BuildType 的不同,在相应的目录下可以找到。比如对 BuildType 为 debug 的配置,输出为:[ModuleName]/build/outputs/aar/[ModuleName]-debug.aar。一份 aar 文件其实就是一份 zip 包,和 jar 不同的是,它将一些资源文件、第三方库文件、so 文件等等都打包在内,而代码文件编译后压缩在在 classes.jar 中

studio的项目结构:是以eclipse的工作空间作为项目名称,而eclipse的项目作为studio的moudle而存在。如此则是这样一个项目架构:

如上图所示整个项目架构中包含有library,aar包。

我们首先需要把library中所需要的依赖库添加到project中进行依赖,然后进行导入aar/jar操作,找到library中build下的output中aar文件引用,等待build完成,此时在将aar依赖于project当中,这样就可以了。

转载于:https://my.oschina.net/u/2508574/blog/638694

android studio打包aar心得相关推荐

  1. android studio 打包aar 与 引入aar包

    一.android studio 打包arr 1. aar包是Android studio 下打包Android工程中src.res.lib后生成的aar文件(与Jar包最大的不同是Jar包不包含资源 ...

  2. android打包规范包含第三方库aar,Android Studio 打包AAR和第三方静态库(示例代码)

    需求 现在有一个第三方库libstatic_add.a和对应的头文件static.h,要求封装一个Module,该Module依赖这个静态库,要求打包的Module包含该静态库. 方案 创建Andro ...

  3. android服务器打包jar,Android Studio打包apk,aar,jar包方法

    文本我们将讲解android studio打包apk,aar,jar包的相关知识.apk包就是android系统的安装包,这里没什么好说的,aar包是android中独有的类库包,而jar包是java ...

  4. Android studio 更新aar库无效问题解决

    Android studio 更新aar库无效问题解决 前言 清缓存 解决 完事 前言 最近开发库的时候带有关联库,也就是每个SDK都依赖了中间的SDK.在我修改了中间SDK的时候,打包成aar,放到 ...

  5. android 自定义apk名,Android Studio 打包自定义apk文件名

    使用Android Studio打包的时候,我们有时候需要自定义apk的文件名,在此记录一下. 在app的build.gradle中,根节点下使用关键词def声明一个全局变量,用于获取打包的时间,格式 ...

  6. 《Android studio 创建生成keystore SHA1值的申请 高德地图key值申请 android studio 打包生成apk》

    开发背景:目前做车载项目,领导要求用高德地图.整理了一下,差不多就是下面的目录: 一.创建生成keystore: 二.SHA1值的申请: 三.高德地图key值申请: 四.android studio ...

  7. Android Studio打包生成APK

    Android Studio打包生成APK 当我们编写好代码,测试号应用后,需要在真机环境下测试,这个时候要生成apk,具体步骤如下: 如图,点击Build > Generate Signed ...

  8. 【Android】Android Studio打包生成正式签名的APK

    Android Studio是谷歌推出一个Android集成开发工具,基于IntelliJ IDEA.它类似于Eclipse ADT,Android Studio 提供了集成的Android开发工具用 ...

  9. android studio 打包cocos creator项目

    SDK,NDK,ANT的配置请看这里http://www.cnblogs.com/studweijun/p/4320778.html 原文链接:原文链接 首先需要用cocos creator构建and ...

最新文章

  1. 系统设计原则的重要性_设计原则的重要性及其对好的设计的影响
  2. 变量的分类(按数据类型)
  3. MATLAB中的S-Function的用法(C语言)
  4. FileZilla软件下载使用简易教程
  5. python counter_Python神奇的10个技巧
  6. Faster RCNN好文(转)
  7. 利用随机数种子来使pytorch中的结果可以复现
  8. 旅游后台管理系列——SSM框架Service层整合
  9. Windows和Linux下搭建J2sdk的环境
  10. 《福州往事》(抒情散文)
  11. idea社区版创建springboot_idea社区版+spring boot
  12. 超有趣的Python实战:将图片转成像素风~
  13. URL Schemes 程序跳转
  14. 推荐这三款亲测好用的ai工具
  15. python requests详解
  16. Chromedriver各个版本浏览器驱动下载地址
  17. 极智AI | 全场景算力产品矩阵 看算能系列AI产品
  18. 用wvdial和ppp轻松上网
  19. 《语雀 IT 百科》发布了!
  20. 郑州东区鸿蒙学前班,新元鸿蒙教育智能学前班户外大课堂开始啦!

热门文章

  1. Linux绝对战胜不了Windows系统
  2. Centos7快速部署CloudStack服务器
  3. 开发者70行代码破解苹果OSX远程锁定安全功能
  4. Apahce服务器配置非根目录的虚拟目录
  5. 先知-Baidu的系统测试
  6. pdf页眉页脚设置步骤
  7. eclipse进行远程调试教程,轻松搞定生产环境问题
  8. Python 将json字符串 进行列表化可循环
  9. cocos2dx 3.10 网狐土豪金版PC+手机端棋牌平台搭建
  10. 排序算法-冒泡排序算法