详解Android的.aar文件生成方法以及使用技巧

无论是用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文件。

(0)

相关推荐

  • Android项目中引用本地aar文件的方法

    随着项目越来越多,代码的复用就变得异常重要,这时候就要进行模块化编程,就是把一些通用的组件或者类库做成单独的模块,其他项目直接进行引用就好.针对Android开发最常见的就是Android Library,在Gradle出现之前引用Android Library的方式也很繁琐,但是有了Gradle一切变得非常简单方便. aar 何为aar?大家都知道jar文件把,如果你有一个Android Library项目,可以很容易的导出jar文件,然后在其他项目中很方便的引用,aar和jar类似,区别就是

  • Android Studio 多层级 Module 对 aar 引用问题解决方法

    最近碰到这么个恶心的问题 问题:有个arr文件被放到Module A中引用,现在Module B又依赖了Module A,则在编译过程中会发生错误,Module B找不到aar文件.(同时如果又有Module C 依赖了Module B,C也会出同样的问题) 解法: 1.正常给一个module加入aar文件的步骤是: 1.把aar文件放入module文件夹下libs包下 2.然后在项目的build.gradle文件的android节点下加入 3. 1. repositories { flatDi

  • Android studio中生成引用.aar和.jar的方法详解

    在Android Studio中对一个自己库进行生成操作时将会同时生成*.jar与*.aar文件. 分别存储位置: *.jar:库 /build/intermediates/bundles/debug(release)/classes.jar *.aar:库 /build/outputs/aar/libraryname.aar .jar 与 .aar的区别 从名称上来讲,一个是java application resource:一个是android application resource: 那

  • AndroidStudio 如何使用aar详解

    一. 简介 aar 是一个类似于 jar 的文件格式.但是他们之间是有区别的. jar :仅仅包含class和清单文件,没有资源文件. aar :包含了class文件和资源文件.说白了就是Android的专属"jar" 将代码打包成aar文件,可以在一定程度上加快 AndroidStudio 的速度. 尤其是将 Module 打包成 aar 文件,提升的效果很显著. 二. 如何得到aar 1. Module的aar文件 将一个AndroidStudio项目中的 Module 打包成 a

  • android studio生成aar包并在其他工程引用aar包的方法

    1.aar包是android studio下打包android工程中src.res.lib后生成的aar文件,aar包导入其他android studio 工程后,其他工程可以方便引用源码和资源文件 2.生成aar包步骤: ①.用android studio打开一个工程,然后新建一个Module,新建Module时候选择Android Library,后面按新建普通工程操作 ②.新建Module 类型为android Library 后如下图所示 ③.在新建的Module中编写完代码后,接下来编

  • 详解Android的.aar文件生成方法以及使用技巧

    无论是用Eclipse还是用Android Studio做android开发,都会接触到jar包,全称应该是:Java Archive,即java归档文件. 在用AS的过程中,你会发现有aar这么个东西,经查阅资料了解到,aar是android归档文件,我想全称应该是:Android Archive. 他们两个有什么区别呢? 个人理解: jar是java文件编译后的class文件压缩包. aar是android module中所有resource文件和编译后的java文件的总压缩包. 区别在于:

  • 详解Android 中的文件存储

    目录 概要 当我们查看手机的文件管理器的时候,会发现里面的文件五花八门,想要找到自己项目所对应的文件非常困难,甚至有可能压根就找不到自己的文件,本文就来介绍一下APP开发过程当中文件存储的注意事项. 通常我们会将存放的文件分为两种:独立文件和专属文件.顾名思义,独立文件就是独立于APP之外的文件,不会随着APP的删除而删除,而专属文件则是专属于某个APP的文件,当APP删除后,会自动清空相对应的专属文件. 独立文件 独立文件指的是存放在shared/external storage direct

  • 详解ASP.NET验证码的生成方法

    一般验证码的生成方法都是相同的,主要的步骤都有两步 第一步:随机出一系统验证码的数字或字母,顺便把随机生成的数字或字母写入Cookies 或者 Session. 第二步:用第一步随机出来的数字或字母来合成图片. 可以看出来验证码的复杂度主要是第二步来完成,你可以根据自己所要的复杂度来设定. 我们一起来看看:  第一步:随机生成数字或字母的方法 /// <summary> /// 生成验证码的随机数 /// </summary> /// <returns>返回五位随机数&

  • 详解Android中Intent的使用方法

    一.Intent的用途 Intent主要有以下几种重要用途: 1. 启动Activity:可以将Intent对象传递给startActivity()方法或startActivityForResult()方法以启动一个Activity,该Intent对象包含了要启动的Activity的信息及其他必要的数据. 2. 启动Service:可以将Intent对象传递给startService()方法或bindService()方法以启动一个Service,该Intent对象包含了要启动的Service的

  • 详解Android中IntentService的使用方法

    为什么我们需要IntentService ? Android中的IntentService是继承自Service类的,在我们讨论IntentService之前,我们先想一下Service的特点: Service的回调方法(onCreate.onStartCommand.onBind.onDestroy)都是运行在主线程中的.当我们通过startService启动Service之后,我们就需要在Service的onStartCommand方法中写代码完成工作,但是onStartCommand是运行

  • 详解Android获取系统内核版本的方法与实现代码

    Android获取系统内核版本的方法 这里主要实现获取Android Linux 内核的版本号,网上关于这类文章不是很多,这里记录下,希望能帮助到大家, 实现代码: public static String getKernelVersion() { String kernelVersion = ""; InputStream inputStream = null; try { inputStream = new FileInputStream("/proc/version&q

  • 详解Android中解析XML的方法

    XML在各种开发中都广泛应用,Android也不例外.作为承载数据的一个重要角色,如何读写XML成为Android开发中一项重要的技能.今天就由我向大家介绍一下在Android平台下几种常见的XML解析和创建的方法. 在Android中,常见的XML解析器分别为SAX解析器.DOM解析器和PULL解析器,下面,我将一一向大家详细介绍. SAX解析器: SAX(Simple API for XML)解析器是一种基于事件的解析器,它的核心是事件处理模式,主要是围绕着事件源以及事件处理器来工作的.当事

  • 实例详解Android中JNI的使用方法

    目录 前言 1.导入C语言的类 2.接着导入Android.mk文件 3.我们配置一下build.gradle文件 4.好了,此时可以编译一下项目了 5.此时我们可以找一下我们生成的so包了 6.将生成的so文件拷入src/main/jniLibs中 7.调用C语言方法的Activity如下 总结 前言 做Android开发的程序员应该都知道,Android的开发语言我们都是在使用JAVA(Kotlin和Flutter我们暂时不考虑).但是,有时候我们也需要使用到C语言进行一些功能的开发.这个时

  • 详解Android中Notification的使用方法

    在消息通知的时候,我们经常用到两个控件Notification和Toast.特别是重要的和需要长时间显示的信息,用Notification最合适不过了.他可以在顶部显示一个图标以标示有了新的通知,当我们拉下通知栏的时候,可以看到详细的通知内容.       最典型的应用就是未看短信和未接来电的显示,还有QQ微信,我们一看就知道有一个未接来电或者未看短信,收到QQ离线信息.同样,我们也可以自定义一个Notification来定义我们自己的程序想要传达的信息. Notification我把他分为两种

  • 详解Android TabHost的多种实现方法 附源码下载

    最近仔细研究了下TabHost,主要是为了实现微信底部导航栏的功能,最后也给出一个文章链接,大家不要着急 正文: TabHost的实现分为两种,一个是不继承TabActivity,一个是继承自TabActivity:当然了选用继承自TabActivity的话就相对容易一些,下面来看看分别是怎样来实现的吧. 方法一.定义tabhost:不用继承TabActivity  1.布局文件:activity_main.xml <LinearLayout xmlns:android="http://s

随机推荐