打包自己的aar库

在比较大的 Android 项目的开发中,我们经常会遇到工程、jar 包等等之间相互引用的方式。一般我们通过在 gradle 文件中配置依赖来解决,但是如果通过include的方式来引入第三方库的时候,第一次编译会特别慢,所以Android在V7版本之后为我们添加了一种添加aar的方案,其实说白了就是jar的另一种形式,至于怎么写自己的jar(其实百度,google一大堆,实践下就好了),请点击封装自己的jar文件

今天说说怎么打aar包,以及在项目中引用。

1,新建一个project,在project中新建一个module,选择Android jar,然后下一步即可。然后运行,会在你工程目录***\build\outputs\aar看到你的aar。

2,引用aar:将aar放在你所需要引用工程的libs文件夹中

第一种方式比较简单,打开 Project Structure,添加一个新 Module,然后选择 Import *.JAR or *.AAR Package 的方式导入(也可以使用快捷键ctrl+shift+alt+s):

接着可以在 gradle 中配置依赖了,其他 Module 可以引用这个 Module 了,依赖方式使用 compile project 的方式即可。

但是这种方式有一个缺点,被依赖的 aar 无法 看到资源文件内容以及目录层级等。

第二种方式导入(build.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 包作为依赖。

gradle 其实还有另一种依赖可以引用 aar:

  • compile(name: 'xxx', ext: 'aar')

然后在 gradle 配置文件中把 libs 目录加入依赖。

接着在 gradle 的依赖配置中加入 compile(name: 'xxx', ext: 'aar') 这一句,依赖即可关联完毕。构建一下工程,在 Module 的build/intermediates/exploded-aar 目录下,可以看到有一些临时文件生成。

时间: 2024-11-05 19:43:45

打包自己的aar库的相关文章

install shield 12打包, 如何把运行库的一些exe文件打包进去, 并在安装时候自动执行安装?

问题描述 我自己编译好的文件已经打包进去了现在还有几个运行库的exe文件(如framework等),想一起打包进去,安装的时候一起逐个自动执行安装请问这样应该怎么做?谢谢了 解决方案 解决方案二:冒泡帮顶接分不是vs开发的么?为何不用vs的发布功能设置检测是否安装framework?解决方案三:安装项目有一个生成完以后需要执行的命令就用这个如果有很多文件bat批处理也不错解决方案四:该回复于2008-03-19 08:33:40被版主删除解决方案五:这个简单啊,网上搜一下就得到答案了.

IOS 打包静态库详细介绍_IOS

IOS 打包静态库详细介绍 一.前言 前段时间看的一本书上说:"隔着一段距离看,很多有趣的知识看起来都很唬人."比如说这篇我要总结的"静态库知识",在我初出茅庐的时候着实觉得那些后缀名为".frameworke".".a".".dylib"的文件很神秘,很高冷.那时我虽然知道只要导入一个库就能引用库里面很多封装好的东西,但对这个"库"究竟是什么"鬼",一直都是云里雾里

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

在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 r

【我的Android进阶之旅】快速创建和根据不同的版本类型(Dev、Beta、Release)发布Android 开发库到Maven私服

前言 由于项目越来越多,有很多公共的代码都可以抽取出一个开发库出来传到公司搭建好的Maven私服,以供大家使用. 之前搭建的Maven仓库只有Release和Snapshot两个仓库,最近由于开发库有时候不稳定有bug,不便于测试.因此领导说要搭建三个版本的仓库,分别为Release版本.Beta版本.Dev版本,Snapshot版本废弃掉,下面来分别介绍下这三个版本仓库的意义. Dev版本:是用于开发库维护人员能够很快的新增代码并上传到Maven仓库,这样其他开发人员就能够很快的获取该Dev版

[Android]使用Gradle提交自己开源Android库到Maven中心库

以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/4388175.html    此文针对开源爱好者. 如果你想让别人使用你的Android开源库,第一种方法是,提供你的Github地址,让别人clone一份,然后让别人import到他的项目中.另一种更简单的方式就是直接让别人在他的Gradle中添加你的库依赖,如下: compile 'com.github.wangjiegulu:AndroidBucket:1

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: 那

C++静态库与动态库

C++静态库与动态库 这次分享的宗旨是--让大家学会创建与使用静态库.动态库,知道静态库与动态库的区别,知道使用的时候如何选择.这里不深入介绍静态库.动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书<程序员的自我修养--链接.装载与库>. 什么是库 库是写好的现有的,成熟的,可以复用的代码.现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常. 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行.库有两种:静态库(.a..lib

静态库和动态库的区别以及使用

问题描述 静态库和动态库的区别以及使用 什么是动态链接库和静态链接库?它们有什么区别?它们分别如何使用? 解决方案 库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行.库分静态库和动态库两种.? 静态库和动态库的区别 静态函数库 ??? 这类库的名字一般是libxxx.a:利用静态函数库编译成的文件比较大,因为整个 函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行程序不需要外部的函数库支持,因为所有使用的函数都已经被编译进去了.当然这也会成为他的....

Xcode 5.1 编译模拟器以及真机都能使用的静态库

Xcode 5.1.dmg 下载地址 http://pan.baidu.com/s/1jGJpKm6   1.新建 Framework & Library 工程 我起名叫ShowInfo,下面为其源码 showInfo.h ========================= #import <Foundation/Foundation.h> @interface ShowInfo : NSObject + (void)showInfo; @end ===================