详解Android的.aar文件生成方法以及使用技巧
作者:laozhang 发布时间:2023-08-06 06:43:20
无论是用Eclipse还是用Android Studio做android开发,都会接触到jar包,全称应该是:Java Archive,即java归档文件。
在用AS的过程中,你会发现有aar这么个东西,经查阅资料了解到,aar是android归档文件,我想全称应该是:Android Archive。
他们两个有什么区别呢?
个人理解:
jar是java文件编译后的class文件压缩包。
aar是android module中所有resource文件和编译后的java文件的总压缩包。
区别在于:aar除了包含class文件,还包含resource文件。
在Android Studio中如何引入aar文件呢?
拿RecyclerView的aar文件为例。
1、找到aar文件:..\Android_SDK_Windows\extras\android\m2repository\com\android\support\recyclerview-v7\24.0.0\recyclerview-v7-24.0.0.aar
copy到Android Studio项目中的libs目录下。
2、然后在Android Studio对应的module的build.gradle文件中输入一下内容:
dependencies {
...
compile(name:'recyclerview-v7-24.0.0',ext:'aar')
}
repositories {
flatDir {
dirs 'libs'
}
}
3、然后重新build下整个项目即可。
在Android Studio中如何把某一个module导出为aar文件呢?
以testlibrary为例:
1、执行对应module的assembleRelease命令:
上图切记,如果是项目的主module,即app,则生成的是apk包。
2、在对应module的build\outputs\aar\目录下即是:
如果想把aar文件导入到Eclipse中呢?
如图:把aar文件用WinRAR等压缩软件打开后,会发现是上面的结构,classes.jar即为class文件的jar包,其他的为android相关的资源文件。
如果你想把导入到Eclipse中,就需要把这里面的所有资源和class文件转换成一个library工程了。
用Eclipse新建一个library工程,导入res资源、清单文件和发编译后的java文件。


猜你喜欢
- 之前在介绍使用JdbcTemplate和Spring-data-jpa时,都使用了单数据源。在单数据源的情况下,Spring Boot的配置
- 一、Stream流引入Lambda表达式,基于Lambda所带来的函数式编程,又引入了一个全新的Stream概念,用于解决集合类库既有的鼻端
- 前言作为一个新手,最近在学习C#,自己折腾弄了个简单的小说爬虫,实现了把小说内容爬下来写入txt,还只能爬指定网站。第一次搞爬虫,涉及到了网
- 目录一. 已有倒计时方案存在的问题1. CountDownTimer2. Handler3. Timer二. 自己封装倒计时总结一. 已有倒
- MyBatis简介MyBatis前身是iBatis,是一个基于Java的数据持久层/对象关系映射(ORM)框架.MyBatis是对JDBC的
- 这是一篇入门级文章,高手请略过。在这篇文章中我们将学习如何用 Java 对图像进行剪裁并将剪裁出来的部分单独保存到文件中。我们将通过以下步骤
- 为哪些方法代理?实现自己 * ,首先需要关注的点就是,代理对象需要为哪些方法代理? 原生JDK的 * 的实现是往上抽象出一层接口,让目标
- Android之禁止ViewPager滑动实现实例当我们想在同一个Activity或者Fragment中展示多个页面时往往会用到ViewPa
- C++中的动态数组(Dynamic Array)是指动态分配的、可以根据需求动态增长占用内存的数组。为了实现一个动态数组类的封装,我们需要考
- java spring 通过注解方式创建对象首先 我们要搞清楚一个基础概念什么是注解?注解可以说是代码里的一些特殊标记。格式是 @() 里面
- 安装JDK/安装JRE以及配置java环境变量对于java初学者来说是一件比较头疼的事情,这边分享一个简单的批处理命令,助大家一步完成JDK
- 现在就为大家介绍一种基于因子分解的RSA算法,这种加密算法有两种实现形式:1、公钥加密,私钥解密;2、私钥加密,公钥解密。下面就为大家分析一
- 本文基于GP58系列,它可以兼容ESC/POS指令集,对EPSON的打印机通用.Android下的设备调试,如果设备提供了驱动,按照厂家的驱
- Spring-boot JMS 发送消息慢的问题解决1、在《ActiveMQ 基于zookeeper的主从(levelDB Master/S
- name和url属性的作用定义feign是声明式的web service客户端,它让微服务之间的调用变得更简单了,类似controller调
- 一、Java把这些不同来源和目标的数据都统一抽象为数据流。Java语言的输入输出功能是十分强大而灵活的。在Java类库中,IO部分的内容是很
- RestTemplate 是由 Spring 提供的一个 HTTP 请求工具,它提供了常见的REST请求方案的模版,例如 GET 请求、PO
- 本文实例讲述了C#中的try catch finally用法。分享给大家供大家参考。具体分析如下:try中的程序块是有可能发生错误的程序块,
- class文件中的attributes_count和attributesattributes_count位于class文件中methods的
- 前言RedisTemplate是Spring对于Redis的封装。如上图所示,RedisTemplate中定义了对5种数据结构操作。redi