文档章节

[Android][Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法

Qiujuer
 Qiujuer
发布于 2014/10/03 13:15
字数 681
阅读 978
收藏 29

主要讲解Android Studio中生成aar文件以及本地方式使用aar文件的方法。

在Android Studio中对一个自己库进行生成操作时将会同时生成*.jar与*.aar文件。

分别存储位置:

*.jar:库/build/intermediates/bundles/debug(release)/classes.jar

*.aar:库/build/outputs/aar/libraryname.aar

两者区别:

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

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

如果你只是一个简单的类库那么使用生成的*.jar文件即可;如果你的是一个UI库,包含一些自己写的控件布局文件以及字体等资源文件那么就只能使用*.aar文件。


使用方式:

*.jar:拷贝到:libs目录,eclipse直接导入即可,AndroidStudio项目中添加:

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
}
重新编译一次项目既可完成加载。

*.aar:有两种方式,分别为本地加载以及网络加载,由于网络加载涉及到发布到mavenCentral托管的问题这里不做讨论;另外eclipse很久没有使用了也不做讨论;在这里给大家说一种本地加载的方式,简单快捷。

这里演示的aar文件为:”genius.aar“

第一步:拷贝到:libs目录

第二步:build.gradle 配置文件中更改为

repositories {
    flatDir {
        dirs 'libs'
    }
}
dependencies {
    compile(name:'genius', ext:'aar')
}

分别添加了”repositories“与更改了”dependencies“,然后重新编译一次项目就可以正常使用了。

这时打开你的项目地址”\build\intermediates\exploded-aar\“你会发现下面多了一个文件夹”genius“打开后能看见里边包含了一个”classes.jar“文件与一些资源文件和”R.txt“文件

这就是Android Studio自动解析了aar文件后出现的东西。


在这里给大家宣传一下自己的项目:Genius-Android

原创作品,转载请注明出处:http://blog.csdn.net/qiujuer/article/details/39754517


下一次给大家分享一下怎么把自己做的库aar文件发布出去,别人通过网络加载方式使用。



© 著作权归作者所有

共有 人打赏支持
Qiujuer

Qiujuer

粉丝 143
博文 27
码字总数 65038
作品 2
深圳
程序员
私信 提问
如何制作一个android studio的aar依赖包

首先说明我使用的android studio 版本是0.4.因为现在android studio的bug还不较多,所以你的版本能不能正常使用我就不敢说了。 如果你只是单纯的想使用actionbarsherlock的话,引用是十分简单...

手绘灿烂
2014/01/02
0
0
Android studio如何生成aar包

在Android Studio中对一个自己库进行生成操作时将会同时生成.jar与.aar文件。 分别存储位置: *.jar:库 /build/intermediates/bundles/debug(release)/classes.jar *.aar:库 /build/outpu...

飞翔的熊blabla
2018/08/01
0
0
[Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法

主要讲解Android Studio中生成aar文件以及本地方式使用aar文件的方法。 在Android Studio中对一个自己库进行生成操作时将会同时生成*.jar与*.aar文件。 分别存储位置: *.jar:库/build/inte...

Qiujuer
2014/10/06
8.7K
0
AndroidStudio封装SDK的那些事

首先SDK是提供给别人调用的工具。所以常见的SDK都是以jar包,so库,aar包等方式导入APP项目中。然后提供一些公开的API供接入方调用。所以在Androidstudio中如果需要生成jar或者aar,就需要将...

尘封的落叶
2018/06/23
0
0
android studio 编译缓存

现象:能编译生成apk,但是编译器中找不到新代码。无论是clean还是invalidate Caches /restart 还是到.android将build-cache删除,或者是更改gradle的service directory path都无效。 尝试以...

jimmy2012
2018/05/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Cookie 显示用户上次访问的时间

import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.serv......

gwl_
今天
1
0
网络编程

第14天 网络编程 今日内容介绍  网络通信协议  UDP通信  TCP通信 今日学习目标  能够辨别UDP和TCP协议特点  能够说出UDP协议下两个常用类名称  能够说出TCP协议下两个常用类名称...

stars永恒
今天
1
0
二进制相关

二进制 众所周知计算机使用的是二进制,数字的二进制是如何表示的呢? 实际就是逢二进一。比如 2 用二进制就是 10。那么根据此可以推算出 5的二进制等于 10*10+1 即为 101。 在计算机中,负数以...

NotFound403
昨天
3
0
day22:

1、写一个getinterface.sh 脚本可以接受选项[i,I],完成下面任务: 1)使用格式:getinterface.sh [-i interface | -I ip] 2)当用户使用-i选项时,显示指定网卡的IP地址;当用户使用-I选项...

芬野de博客
昨天
2
0
Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现

自Spring Cloud Alibaba发布第一个Release以来,就备受国内开发者的高度关注。虽然Spring Cloud Alibaba还没能纳入Spring Cloud的主版本管理中,但是凭借阿里中间件团队的背景,还是得到不少...

程序猿DD
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部