一、简介


Android 库在结构上与 Android 应用模块相同。它可以提供构建应用所需的一切内容,包括源代码、资源文件和 Android 清单。不过,Android 库将编译到您可以用作 Android 应用模块依赖项的 Android 归档 (AAR) 文件,而不是在设备上运行的 APK。与 JAR 文件不同,AAR 文件可以包含 Android 资源和一个清单文件,这样,除了 Java 类与方法外,您还可以捆绑布局和可绘制对象等共享资源。

简单来说:

xx.jar:只包含了class文件与清单文件 ,不包含资源文件,如图片等所有res中的文件。

xx.aar:包含所有资源 ,class 以及 res 资源文件全部包含

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

要输出 aar:apply plugin:‘com.android.library’

要输出 apk:apply plugin:‘com.android.application’

二、创建AAR


用android studio打开一个工程,选择菜单File -> New -> New Module...,新建一个Module,新建Module时候选择Android Library,后面按新建普通工程操作

新建Module 类型为android Library 后如下图所示

在Module里新建一个测试类,导入测试图片资源,如下图:

三、导出AAR


打开Gradle,依次打开MyApplication -> :mylibrary -> Tasks -> build,其中assembleDebug 和 assembleRelease 分别是打debug和release包的命令,assemble命令则是debug和release包同时生成,打包之前先执行clean命令,打包之后生成的aar文件在mylibrary -> build -> outputs -> aar目录下

四、其他工程引入AAR


  • 将aar包复制到libs目录下
  • 配置app/build.gradle文件

加入:

 repositories {flatDir {dirs 'libs'}}compile(name:'mylibrary-release', ext:'aar')

完整的配置文件如下:

apply plugin: 'com.android.application'android {compileSdkVersion 23buildToolsVersion "23.0.3"defaultConfig {applicationId "com.aartest"minSdkVersion 16targetSdkVersion 23versionCode 1versionName "1.0"}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}}repositories {flatDir {dirs 'libs'}}
}
dependencies {compile fileTree(dir: 'libs', include: ['*.jar'])testCompile 'junit:junit:4.12'compile(name:'mylibrary-release', ext:'aar')
}
  • 编译工程

  • 调用aar中的资源文件

Android Studio打包和引用aar相关推荐

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

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

  2. Android Studio LibraryModule中引用aar

    一.在正常的Module中引用aar步骤是: 1.在Module的build文件中加入如下: repositories {flatDir {dirs 'libs'} } //看网上说这部分,有说加在a ...

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

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

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

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

  5. Android Studio(九):引用jar及so文件

    Android Studio相关博客: Android Studio(一):介绍.安装.配置 Android Studio(二):快捷键设置.插件安装 Android Studio(三):设置Andr ...

  6. Android Studio打包生成APK

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

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

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

  8. android studio 打包cocos creator项目

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

  9. Android Studio打包APK安装失败:应用是非正式版本,当前设备不支持安装

    问题描述: Android studio 打包apk后发给别人,安装失败. 失败原因显示:应用是非正式发布版本,当前设备不支持安装 原因分析: 造成该问题的原因是Android Studio 3.0会 ...

最新文章

  1. SAP NetWeaver 业务运作面向服务平台 介绍
  2. POJ1573-Robot Motion
  3. python官网 中文版 新闻-他说,懂中文就能学会Python,但需要这个工具
  4. elasticsearch的join查询
  5. oracle 排序的分析函数,oracle下数据的排序分组row_number() over()--分析函数,可用于去重...
  6. flutter 刷脸_GitHub - hqwlkj/wechat_face_payment: 微信刷脸支付、刷脸认证、扫码支持等 Flutter 插件....
  7. 想要预览文件或是图片,将后端返回的信息转换为前端可以正常显示的格式
  8. 自定义checkbox大小(注:用CSS的ZOOM属性 )
  9. 深度优先遍历(DFS)例题
  10. SVN:本地项目与SVN项目进行关联
  11. iOS  两张图片合并成一张。
  12. 使用Python统计历年来各种英语高考题中单词的出现频数
  13. python乘法函数_乘积(python乘法函数)
  14. C. Xenon's Attack on the Gangs(树形dp)
  15. 图解IFRS9 金融工具(6)ECL预期减值
  16. 引言-知识技能树(数据分析相关)
  17. 基于docker安装zabbix
  18. 黑马程序员————IO流1(day18)
  19. fastapi 大型应用_FastAPI使用小结
  20. 使用OpenCV-Python为照片添加不同滤镜(每天一个python小项目)

热门文章

  1. 怎么形容智能冰激凌机器人_有关于形容描写冰激凌的句子及图片
  2. 如何导入maven源文件_如何正确导入maven项目到eclipse?
  3. 数字时钟设计verilog_数字IC设计基本概念之创建时钟
  4. matlab电压稳定极限,电力系统电压稳定性的Matlab建模分析
  5. python图形模块_使用Python图形模块:有没有办法将当前窗口保存为图像?
  6. PWN-PRACTICE-BUUCTF-27
  7. 热血江湖最新服务器,《热血江湖》2020年6月2日部分服务器数据互通公告
  8. CCIE-LAB-第七篇-IPV6 EIRGP+Passive
  9. 【CodeForces - 151D】Quantity of Strings (字符串问题,思维推导,有坑)
  10. 【HDU - 5912】Fraction (模拟)